
第一种方式使用迭代器
public class Test {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
Iterator it = list.iterator();
while(it.hasNext()){
String str = (String)it.next();
if("aa".equals(str)){
it.remove();
}
}
System.out.println(list.size());
}
}
第二种方式使用循环
public class Test {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
for (int i = list.size() - 1; i >= 0; i--) {
String str = list.get(i);
if ("aa".equals(str)) {
list.remove(str);
}
}
System.out.println(list.size());
}
}
第三种方式使用CopyOnWriteArrayList()
public class Test {
public static void main(String[] args) {
List list = new ArrayList<>();
list.add("aa");
list.add("bb");
list.add("cc");
CopyOnWriteArrayList cowList = new CopyOnWriteArrayList(list);
for (String str : cowList) {
if ("aa".equals(str)) {
cowList.remove(str);
}
}
System.out.println(cowList.size());
}
}