其他分享
首页 > 其他分享> > 集合—collection、iterator遍历集合

集合—collection、iterator遍历集合

作者:互联网

一、collection接口

1.collection常用方法

点击查看代码
@Test
    public void test(){
        //contains()
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add(456);
        coll.add(new String("Tom"));
        coll.add(false);
        Person p = new Person("jerry", 23);
        coll.add(p);
        coll.add(new Person("twq", 23));
        //1.contains(Object obj):判断当前集合中是否包含obj
        //我们在判断时会调用obj对象所在类的equals()方法
        boolean contains = coll.contains(123);
        System.out.println(contains);
        System.out.println(coll.contains(new String("Tom")));//判断的是内容而不是地址
        System.out.println(coll.contains(p));
        System.out.println(coll.contains(new Person("twq", 23)));
        System.out.println("===================");
        //2.containsAll(Collection call1):判断形参coll1中的所有元素是否都存在与当前集合中
        Collection coll1 = Arrays.asList(123,456);
        System.out.println(coll.containsAll(coll1));//判断coll中是否包含coll1
        System.out.println("===================");
        //3.remove(Object obj):从当前集合中移除obj元素
        coll.remove(1234);
        System.out.println(coll);
        coll.remove(new Person("twq", 23));
        System.out.println(coll);
        System.out.println("===================");
        //4.removeAll(Collection coll1):从当前集合中移除coll1中的所有的元素
        Collection coll2 = Arrays.asList(123,456);
        coll.removeAll(coll2);
        System.out.println(coll);
        System.out.println("===================");
        //5.retainAll(collection coll1) 交集:获取当前集合和coll1集合的交集
        Collection coll3 = Arrays.asList(false,"Tom");
        coll.retainAll(coll3);
        System.out.println(coll);
        System.out.println("===================");
        //6.equals(Object obj):要想返回true需要判断当前集合和形参集合的元素都相同
        Collection coll4 = new ArrayList();
        coll4.add(123);
        coll4.add(456);
        coll4.add(new String("Tom"));
        coll4.add(false);
        Collection coll5 = new ArrayList();
        coll5.add(123);
        coll5.add(456);
        coll5.add(new String("Tom"));
        coll5.add(false);
        System.out.println(coll4.equals(coll5));
        System.out.println("==================");
        //7.hashCode():返回当前对象的哈希值
        System.out.println(coll.hashCode());
        System.out.println("==================");
        //8.集合--->数组的转换:toArray()
        Object[] arr = coll.toArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]);
        }
        System.out.println("==================");
        //拓展:数组--->集合:调用Arrays类的静态方法asList()
        List<String> list = Arrays.asList(new String[]{"AA", "DD", "CC"});
        System.out.println(list);
        List<int[]> ints = Arrays.asList(new int[]{123, 456});
        System.out.println(ints.size());//虽然有两个元素,但是会默认为一个元素
        List ints1 = Arrays.asList(new Integer[]{123, 456});
        System.out.println(ints1.size());//这里可以正常输出
        System.out.println("==================");

    }
运行结果图

二、iterator集合元素遍历

1.遍历方法

点击查看代码
public void test1(){
    //iterator():返回
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add(456);
        coll.add(new String("Tom"));
        coll.add(false);
        Iterator iterator = coll.iterator();
        while(iterator.hasNext()){//判断集合中是否还有元素
            System.out.println(iterator.next());
        }
    }
运行结果图:

2.iterator中remove方法的使用

点击查看代码
@Test
    public void test2(){
        Collection coll = new ArrayList();
        coll.add(123);
        coll.add(456);
        coll.add(new String("Tom"));
        coll.add(false);
        Iterator iterator = coll.iterator();
        while(iterator.hasNext()){
            Object obj = iterator.next();
            if(obj.equals("Tom")){
                iterator.remove();
            }
        }
        //这里必须重新定义一个迭代器变量,之前的迭代器变量已经指向了集合的末尾
        //新定义的迭代器变量指针默认指向集合的初始位置
        Iterator iterator1 = coll.iterator();
        while(iterator1.hasNext()){//判断集合中是否还有元素
            System.out.println(iterator1.next());
        }
    }

运行结果图

标签:iterator,System,collection,println,coll,add,集合,new,out
来源: https://www.cnblogs.com/twq46/p/16468657.html