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()方法,此方法可以一次性输出集合中的所有元素

 

posted @ 2019-05-10 21:27  MrChengs  阅读(297)  评论(0编辑  收藏  举报