这里提供两种解决办法:
1:使用Iterator迭代器进行删除操作。
2:新增一个删除集合deleteList把需要删除的元素放如此集合中,然后再用原始集合把deleteList删除。
上代码:
package test02;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class ClassCopy {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("1");
list.add("2");
list.add("3");
list.add("4");
list.add("5");
//方法一
Iterator<String> it = list.iterator();
while(it.hasNext()){
String temp = it.next();
if("3".equals(temp)){
it.remove();
}
}
System.out.println(list.size());
//方法二
List<String> deleteList = new ArrayList<String>();
for(String str : list){
if("2".equals(str)){
deleteList.add(str);
}
}
list.removeAll(deleteList);
System.out.println(list.size());
}
}