-
ArrayList<String>
list = new ArrayList<String>(); -
list.add("one"); -
list.add("two"); -
list.add("two"); -
list.add("two"); -
list.add("two"); -
for(int i=0;i<list.size();i++){ -
if(list.get(i).equals("two")){ -
list.remove(i); -
} -
} -
System.out.println(list); 结果:[one,
two, two] -
ArrayList<String>
list = new ArrayList<String>(); -
list.add("one");
-
list.add("two");
-
list.add("two");
-
list.add("two");
-
list.add("two");
-
for(String
s:list){ -
if(s.equals("two")){ -
list.remove(s); -
} -
}
-
System.out.println(list);
结果:报错
-
ArrayList<String>
list = new ArrayList<String>(); -
list.add("one");
-
list.add("two");
-
list.add("two");
-
list.add("two");
-
list.add("two");
-
Iterator<String>
iter = list.iterator(); -
while(iter.hasNext()){
-
String s = iter.next(); -
if(s.equals("two")){ -
iter.remove(); -
} -
}
-
System.out.println(list);
结果:[one]
结论:用iterator 在并发时候更防止错误
如果你想在循环过程中去掉某个元素,只能调用it.remove方法,不能使用list.remove方法, 否则一定出并发访问的错误. -
ArrayList<String>
JAVA List 移除元素
最新推荐文章于 2024-09-05 04:52:35 发布