Java-Collection接口中的方法使用

Collection方法使用

关于数据

@Test
    public void aboutData() {
        Collection coll = new ArrayList();

        //add(Object e):将元素e添加到集合中
        coll.add("AA");
        coll.add("BB");
        coll.add("CC");
        coll.add(123);//自动装箱

        //size():获取添加的元素的个数
        System.out.println(coll.size());//4

        Collection coll1 = new ArrayList();
        coll1.add(456);
        coll1.add("abc");

        //addAll(Collection coll1):将coll1集合中的元素添加到coll中
        coll.addAll(coll1);
        System.out.println(coll.size());//6

        //clear():清空集合元素
        coll.clear();

        //isEmpty():判断当前集合元素是否为空
        System.out.println(coll.isEmpty());//true
    }

contains

@Test
    public void aboutContain() {
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        //contains(Object obj):判断当前集合中是否包含obj,在判断时会调用对象的equals()方法
        System.out.println(coll.contains(123));//true
        System.out.println(coll.contains(new String("tom")));//true

        Collection coll1 = new ArrayList();
        coll1.add(123);
        coll1.add(false);

        //containsAll(Collection coll1):当前集合中是否包含coll1中的所有元素
        System.out.println(coll.containsAll(coll1));//true
    }

remove

@Test
    public void aboutRemove(){
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        //remove(Object obj),从当前集合中移除obj元素
        boolean remove = coll.remove(123);
        System.out.println(remove);//true

        Collection coll1 = Arrays.asList(123,false);

        //removeAll(Collection coll1):从当前集合中移除coll1中所有的元素
        boolean b = coll.removeAll(coll1);
        System.out.println(b);//true
    }

交集(retainAll)

@Test
    public void aboutRetainAll(){
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        Collection coll1 = Arrays.asList(123,false,"jerry");

        //retainAll(Collection coll1):获取当前集合与coll1的交集,修改的是当前的集合
        coll.retainAll(coll1);
        System.out.println(coll);//[123, false]
    }

equals

@Test
    public void aboutEquals(){
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        Collection coll1 = new ArrayList();

        coll1.add(new String("tom"));
        coll1.add(123);//自动装箱
        coll1.add(false);

        //equals(Object obj):比较当前对象与obj是否相等
        System.out.println(coll.equals(coll1));//true
    }

List与数组的相互转换

@Test
    public void aboutToArray() {
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        //coll.toArray():转换为数组
        Object[] arr = coll.toArray();
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + "、");//tom、123、false、
        }

        //数组转换为集合
        Collection list = Arrays.asList(123, false, "tom");
    }

iterator

集合对象每次调用iterator()方法之前,都会得到一个全新的迭代器对象,默认游标都在集合的第一个元素之前。

遍历

利用iterator遍历
@Test
    public void aboutIterator() {
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        //iterator():返回Iterator接口的实例,用于遍历集合元素
        Iterator iterator = coll.iterator();

        /*
        方式一
        System.out.println(iterator.next());
        System.out.println(iterator.next());
        System.out.println(iterator.next());
        //java.util.NoSuchElementException
        System.out.println(iterator.next());
        */

        //方式二
//        for (int i = 0; i < coll.size(); i++) {
//            System.out.println(iterator.next());
//        }

        //方式三:推荐
        while (iterator.hasNext()){
            System.out.println(iterator.next());
        }
    }
利用foreach增强for循环进行遍历
@Test
    public void foreachTest(){
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        //for(集合中元素的类型 局部变量:集合对象)
        //内部仍然调用了迭代器
        for (Object obj : coll){
            System.out.println(obj);
        }

        int[] intArr = {1,2,3,4};
        //遍历数组
        //for(数组元素的类型 局部变量:数组对象)
        for(int temp : intArr){
            System.out.println(temp);
        }
    }

remove

@Test
    public void aboutIteratorRemove() {
        Collection coll = new ArrayList();

        coll.add(new String("tom"));
        coll.add(123);//自动装箱
        coll.add(false);

        System.out.println(coll.size());//3

        Iterator iterator = coll.iterator();

        while (iterator.hasNext()){
            Object o = iterator.next();
            if("tom".equals(o)){
                //remove():移除当前游标指向的数据
                iterator.remove();
            }
        }

        System.out.println(coll.size());//2
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值