remove方法
public E remove(int index)移除此列表中指定位置上的元素。向左移动所有后续元素(将其索引减 1)。
public class Homework2 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("abc");
list.add("def");
list.add("efg");
list.add("def");
list.add("def");
list.add("qwe");
list.add("def");
list.add("def");
list.add("swd");
list.add("wwe");
list.add("def");
list.add("def");
//删除集合中的所有字符串"def"
for (int i = 0; i < list.size(); i++) {
if ("def".equals(list.get(i))) {
list.remove(i);
//之前i位置删除了def,后面的元素前移动,即处在i位置,如果不i--,
// 在判断可能存在连续的相同元素,跳过未被删除
i--;
}
}
//删除后的list
System.out.println(list);
重点:
list.remove(i);
//之前i位置删除了def,后面的元素前移动,即处在i位置,如果不i–,
// 在判断可能存在连续的相同元素,跳过未被删除
i–;