先来看一段代码:
要求:把集合中所有的“two“ 元素删除
List<String> list = new ArrayList<String>();
list.add("one");
list.add("two");
list.add("two");
list.add("two");
list.add("two");
System.out.println(list.size());
System.out.println(list);
//第一种 下标遍历(从前往后)
/*for(int i = 0; i < list.size(); i++) {
if("two".equals(list.get(i))) {
list.remove(i);
}
}*/
//第二种 下标遍历(从后往前)
/*for(int i = list.size() - 1; i >= 0; i--) {
if("two".equals(list.get(i))) {
list.remove(i);
}
}*/
//第三种 简单写法
/*for(String str : list) {
if("two".equals(str)) {
list.remove(str);
}
}*/
//第四种 迭代器
for(Iterator<String> it = list.iterator(); it.hasNext();) {
String str = it.next();
if("two".equals(str)) {
it.remove();
}
}
System.out.println(list.size());
System.out.println(list);
上面代码中, 只有第二种和第四种可以实现。