@Test
public void remove(){
ArrayList<String> list = new ArrayList<>();
list.add("php");
list.add("java");
list.add("php");
list.add("php");
list.add("php");
list.add("php");
list.add("php");
list.add("vue");
list.add("js");
// 正常顺序循环会导致重复元素无法删除
for (int i = 0; i < list.size(); i++) {
if (list.get(i).equals("php")){
list.remove(list.get(i));
}
}
list.forEach(System.out::println);
System.out.println("------------");
// 使用倒叙循环
for (int i = list.size() - 1; i > -1 ; i--) {
if (list.get(i).equals("php")){
list.remove(list.get(i));
}
}
list.forEach(System.out::println);
System.out.println("============");
// 直接使用迭代器
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String next = iterator.next();
if (next.equals("php")){
list.remove(next);
}
}
list.forEach(System.out::println);
}