package test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
//(1)循环删除list中特定一个元素的,可以使用三种方式中的任意一种。
//(2)循环删除list中多个元素的,应该使用迭代器iterator方式。
public class Demo03 {
public static void main(String[] args) {
List<String> list = new ArrayList<String>();
list.add("a");
list.add("b");
list.add("c");
list.add("a");
list.add("a");
list.add("c");
// for (int i = 0; i < list.size(); i++) {
// if (list.get(i).equals("a")) {
// list.remove(i);
// }
// }
// 究其原因是因为你要删除的元素往前面移动了,而你的i保存的值依旧往后走,
// 所以如果让i不往后走,往前走一个,
// 即可删除本来排在第二个位置的元素现在排在了第一个位置上的元素。
// for (int i = 0; i < list.size(); i++) {
// list.remove(i);
// i--;
// }
// for (String s : list) {
// if (s.equals("a")) {
// list.remove(s);
// break;
// }
// }
//注意的是,使用iterator的remove方法,
//如果用list的remove方法同样会报错。
// Iterator<String> it = list.iterator();
// while (it.hasNext()) {
// if (it.next().equals("a")) {
// it.remove();
// }
// }
for (String s : list) {
System.out.println(s);
}
}
}