5、集合--Connection和Iterator接口
对于Colleaction和Iterator的接口源码地址:点击跳转
Collection
Collection接口用于表示任何对象或元素组
相关方法:
1、单元素添加、删除操作
add(Object o):将对象添加给集合
remove(Object o):如果集合中有与o相匹配的对象,则删除对象
2、查询操作
size():返回当前集合中元素中的数量
isEmpty():判断集合中是否有任何元素
contains(Object o):查找集合中是否含有对象o
iterator():返回一个迭代对象,用来访问集合中的各个元素
3、组操作
containsAll(Colleaction c):查找集合中元素是否含有集合c中的所有元素
addAll(Collection c):将集合c中的所有元素添加给该集合
clear():删除集合中的所有元素
removeAll(Collection c):从集合中删除集合c中的所有元素
retainAll(Conllection c):从集合中删除c中不包含的元素
4、将collection转为object数组
toArray():返回一个内含所有元素的array
toArray(Object [] a):返回一个内含集合所有元素的array
运行期间返回的array和参数a的类型相同,需要转换为正确的类型
注意:Collection中没有get()方法,如果要遍历则需要使用Iterator
关于AbstractCollection抽象类
源码地址:https://www.cnblogs.com/Mrchengs/p/10844184.html
提供了具体“集合框架”类的基本功能
虽然可以自行实现Collection接口中的方法,但是除了方法iterator()方法和size()可以恰当的子类中实现
其他方法都由AbstractCollection类来提供实现
Iterator接口
接口Collection中的iterator()方法能够返回一个Iterator
Iterator接口方法能够以迭代方式逐个访问各个元素
并且安全地从Collection中出去适当的元素
相关方法:
hasNext():判断是否存在另一个可访问的元素
next():返回要访问的下一个元素,如果到达集合结尾,则抛出NoSucnElementException异常
remove():删除上次访问的对象。
相关代码:
public static void main(String[] args) { //创建集合 Collection collection = new ArrayList(); //打印长度 System.out.println("打印长度:" + collection.size()); //单个元素进行添加 collection.add("a"); collection.add("b"); collection.add(1); collection.add(2); System.out.println("打印长度:" + collection.size()); //使用for循环进行遍历集合 for(Object obj : collection){ System.out.println("for循环遍历collection:" + obj); } //迭代器 Iterator it = collection.iterator(); while(it.hasNext()){ Object obj = it.next(); System.out.println("Iterator:" + obj); } //创建集合 Collection c1 = new ArrayList(); c1.add("a"); c1.add(3); c1.add(4); //将集合c1中的元素都添加到collection collection.addAll(c1); System.out.println("将集合c1添加到collection后的collection:"+collection); //删除指定的元素 c1.remove("a"); System.out.println("删除a元素之后的集合c1" + c1); //清空元素 collection.clear(); System.out.println("清空集合collection:" + collection); //创建集合 Collection c2 = new ArrayList(); c2.add("a"); c2.add(3); c2.add(4); //创建集合 Collection c3 = new ArrayList(); c3.add("a"); c3.add(5); c3.add(6); //添加c3中的所有元素 c2.addAll(c3); System.out.println("c2中添加c3元素:" + c2); //移除c2中中所有的c3元素 c2.removeAll(c3); System.out.println("c2中删除c3已有的元素:" + c2); //删除集合c3中没有c2元素的元素 c3.retainAll(c2); System.out.println(c3); }
注意:所有的Collection集合类都重写了toString()方法,此方法可以一次性输出集合中的所有元素