Collection表示一组对象,它是集中、收集的意思,Collection接口的两个子接口是List和Set接口。
Collection接口中定义了一系列方法,完整的可以查看api文档。而List和Set接口是Collection接口的继承接口,拥有所有的Collection的方法。
一、List接口的一些常用方法(ArrayList为例)
因此我们先来测试List接口的实现类ArrayList去看List接口的一些方法。
Collection<String> arrayList=new ArrayList<>();//增加泛型的参数表示这个列表中要存放字符串类型
System.out.println(arrayList.size());//列表中的元素数
System.out.println(arrayList.isEmpty());//列表是否包含元素
arrayList.add("John");//因为定义了泛型,所以存放元素只能是字符串类型
arrayList.add("Archie");
System.out.println(arrayList);//这里直接可以用容器名来输出,其实是默认调用了toString方法
System.out.println(arrayList.size());
System.out.println(arrayList.isEmpty());
arrayList.remove("Archie");
System.out.println(arrayList);//remove 指的是移除,并不是delete删除
Object[] objects=arrayList.toArray();//toArray方法返回一个包含此集合中所有元素的数组。
System.out.println(objects);
System.out.println(arrayList.contains("hello"));//contains方法返回是否包含某个对象
arrayList.clear();//clear操作清空了容器的所有内容
System.out.println(arrayList.size());
System.out.println(arrayList.isEmpty());
这里面需要注意的是,我们在add的时候,生成了一个字符串对象,然后将他的地址放进了容器中,那么remove操作之后其实只是把指针删除掉了,但是字符串对象并没有消失,clear也是一样,操作的是指针元素。
二、用来操作多个List容器的方法 (ArrayLis为例)
List<String> list=new ArrayList<String>();
list.add("aaaa");
list.add("bbbbb");
list.add("ccccc");
list.add("dddddd");
List<String> list2=new ArrayList<>();
list2.add("ccccc");
list2.add("ffffff");
list2.add("ggggggggg");
list2.add("hhhhhhhhh");
System.out.println("list:"+list);
list.addAll(list2);//addAll方法把第二个容器的所有内容加到第一个容器后面
System.out.println("after addall ,list:"+list);
list.removeAll(list2);//rem