java必备技能-集合类的遍历删除和包含判断

时间:2022-09-03 14:15:40

集合类的遍历删除和包含判断

这里用List举例

循环删除

1.常用的方式是for循环遍历删除

这样的方式会有问题,因为删除的时候会改变元素的顺序,会发生前移,这样同一个坐标对应的元素会发生变化。

2.推荐采用迭代的方式遍历删除

代码如下:

Iterator<String> it = list.iterator();
while(it.hasNext()){
String x = it.next();
if(x.equals("del")){
it.remove();
}
}

第二个问题:判断集合的包含

list.contains(objext)方法

需要被使用的objext实现equal方法

举个栗子


public String name;
public String code;

@Override public boolean equals(Object o) {
if(o instanceof Item){
return ((Item) o).name.equals(this.name) && ((Item) o).code.equals(this.code);
}else{
return false;
}
}