删除集合元素,相信一提,肯定就是调用集合中的remove()方法了!
下面看个例子:
public void operate(List list){
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
list.remove(str);
}
}
}
这样做可以删除元素吗?自己运行下试试!
答案一定是报错了!那么如何才可以删除正在循环的集合中的元素呢?
一个笨方法:
public void operate(List list){
List removeList= new ArrayList();
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
removeList.add(str);
}
}
list.removeAll(removeList);
}
一个聪明的方法:
for (Iterator it = list.iterator(); it.hasNext();) {
String str = (String)it.next();
if (str.equals("chengang")){
it.remove();
}
}
你会用哪一个呢?