集合

集合:即一个储存或者获取数据的容器。一般分为:List,Set,Map三类,关系如图所示:
在这里插入图片描述
在这里插入图片描述

List集合常用方法

由于List集合中的ArrayList与LinkedList都是List接口的实现类,所以他们中定义的方法基本上是一样的,因此只以其中一种举例。
调用Link集合方法的代码格式:

import java.util.ArrayList;//引用ArrayList包
import java.util.List;
//import java.util.LinkedList;//引用LinkedList包

public class Test1 {

	public static void main(String[] args) {
		
//		LinkedList<String> names = new LinkedList<String>();
		ArrayList<String> names = new ArrayList<String>();

<String>称之为泛型,用于限制集合中所能保存的数据类型,可等效为数组元素:String [] names = new String; 

.add()方法:
作用:向集合中添加数据;
格式:对象名.add(添加内容);(添加内容必须与对象的类型一致)
代码:

	names.add("Tom");
	names.add("Tim");
	names.add("Tommy");
	names.add("aTom");

.size()方法:
作用:统计集合中有多少元素(元素可以重复储存)
格式:对象名.size();
代码:

	int size = names.size();
	System.out.println(size);

.isEmpty()方法:
作用:判断集合中是否有元素,若有则返回true;若没有,则返回false
格式:对象名.isEmpty();
代码:

	boolean flag = names.isEmpty();// flag = false
	System.out.println(flag);

.clear()方法:
作用:清空集合中的所有元素
格式:对象名.clear();
代码:

	names.clear();//清空names的数据
	flag = names.isEmpty();//flag = true;
	System.out.println(flag);

.get(index)方法:
作用:获取对应位置index的数据,用法与数组相似,从零开始计数。
格式:变量名 = 对象名.get(目标值位置);
代码:

	String name1 = names.get(0);
	System.out.println(name1);

.add(index, element)方法
作用:在指定位置index添加数据element,并且从index开始的所有元素以此后移,
格式:对象名.add(index, element)
代码:

	list.add("Tom");
	list.add(0"Jack");

.set(index, element)方法
作用:在指定位置index的数据替换为element
格式:.set(index, element);
代码:

	list.set(0, "JIM");

遍历集合中的元素:
方法一:利用 .get(index) 方法实现传统数组输出方法:

	for(int i = 0 ;i < names.size() ;++i){
		System.out.println(names.get(i));
	}

方法二:使用简便方法遍历:

	for(String name : names) {
		System.out.println(name);
	}

方法三:借用Iterator包中的方法
.hasNext()方法:
作用:判断下一位是否有元素,即是否还有元素未被遍历出。
格式:对象名.hasNext();
.next()方法:
作用:调用除集合中的元素。
格式:(变量=)对象名.next();

		Iterator<String> iterator = list.iterator();
		while(iterator.hasNext()) {
			System.out.println(iterator.next());
		}

总体代码为:

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

//import java.util.LinkedList;

public class Test1 {

	public static void main(String[] args) {
		
//		LinkedList<String> names = new LinkedList<String>();
//		names.add("Tom");
//		names.add("Tim");
//		names.add("Tommy");
//		names.add("aTom");
		
		ArrayList<String> names = new ArrayList<String>();
		names.add("Tom");
		names.add("Tim");
		names.add("Tommy");
		names.add("aTom");
		
		int size = names.size();
		System.out.println(size);
		
		boolean flag = names.isEmpty();
		System.out.println(flag);
		//names.clear();//清空names的数据
		flag = names.isEmpty();
		System.out.println(flag);
		
		String name1 = names.get(0);
		System.out.println(name1);
		
		for(String name : names) {
			System.out.println(name);
		}
		
		System.out.println("##################");
		List<String> list = new ArrayList<String>();
		list.add("Tom");
		list.add("Jack");
		
		list.add(0, "Bob");
		
		list.set(0, "JIM");
		
		Iterator<String> iterator = list.iterator();
		while(iterator.hasNext()) {
			System.out.println(iterator.next());
		}
		
	}
}
Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐