编程语言
首页 > 编程语言> > Java之Collection单列集合接口中的常用方法

Java之Collection单列集合接口中的常用方法

作者:互联网

这里我们通过多态来学习Collection接口常用方法
记得为Collection指定一个泛型是很好的习惯

Collection<Integer> collection=new ArrayList<>();

01添加方法

 collection.add(1);

可以多添加几个

collection.add(1);
collection.add(1);
collection.add(2);
collection.add(3);

02集合清空方法

collection.clear();

03判断包含方法
返回一个布尔类型变量

boolean b = collection.contains(3);

04集合判空方法
返回一个布尔类型变量

boolean c =collection.isEmpty()

05.1根据元素删除
存在则删除(第一次出现的被删除)

collection.remove(1);

05.2条件删除返回值是true的元素会被删除
匿名类实现

   collection.removeIf(new Predicate<Integer>() {
            @Override
            public boolean test(Integer num) {
                return num>=2;
            }
        });

Lambda表达式实现

collection.removeIf((num)->num>=2);

06迭代器
通过集合对象获取迭代器对象

Iterator<Integer> iterator = collection.iterator();

07普通删除和迭代删除
注意:迭代器删除时候,遍历到对应位置后,使用迭代器自身空参删除方法(iterator.remove();),不要使用集合删除方法,否则可能报错。

//迭代器删除直接使用迭代器对象删除即可
        Collection<Integer> collection=new ArrayList<>();
        collection.add(1);
        collection.add(1);
        collection.add(2);
        collection.add(1);
        collection.add(3);

        Iterator<Integer> iterator = collection.iterator();
        while (iterator.hasNext()){
            Integer next = iterator.next();
            if (next==1){
                iterator.remove();
            }
        }
        System.out.println(collection);

在这里 i–是注意点,因为ArrayList底层是数组,删除一个元素,其后元素整体前移。

//迭代器删除 引入,因为需要索引 我们直接只用  ArrayList
        ArrayList<Integer> collection=new ArrayList<>();
        collection.add(1);
        collection.add(1);
        collection.add(2);
        collection.add(1);
        collection.add(3);

        for (int i = 0; i < collection.size(); i++) {
            if (collection.get(i).equals(1)){
                collection.remove(i);
                i--;
            }
        }
        System.out.println(collection);


标签:Java,iterator,删除,单列,collection,add,Collection,ArrayList,迭代
来源: https://blog.csdn.net/qq_40850266/article/details/113933498