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