集合框架--三种迭代的删除。
package List;
import java.util.ArrayList;
import java.util.Iterator;
public class Demo09 {
public static void main(String[] args) {
// demo01();
demo02();
// 3.增强for循环不能删除,只能遍历
}
private static void demo02() {
// 2.迭代器删除
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("b");
list.add("d");
Iterator<String> it = list.iterator();
System.out.println(it);
while (it.hasNext()) {
if ("b".equals(it.next())) {
it.remove();
}
}
System.out.println(list);
}
private static void demo01() {
// 1.普通for循环在执行删除时需要给索引:i--,这样挨着的重复元素才能正常删除。
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("b");
list.add("d");
for (int i = 0; i < list.size(); i++) {
if ("b".equals(list.get(i))) {
list.remove(i--);
}
}
System.out.println(list);
}
}