迭代器报错,因为当一项被删除时,由增强的for循环所使用的的基础迭代器是非法的
`public static void main(String[] args) {
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(6);
linkedList.add(5);linkedList.add(1);
linkedList.add(4);linkedList.add(2);
for (Integer s:linkedList){
if (s%2==0)
linkedList.remove(s);
}
System.out.println(linkedList);
可以改成
LinkedList<Integer> linkedList = new LinkedList<>();
linkedList.add(6);
linkedList.add(5);linkedList.add(1);
linkedList.add(4);linkedList.add(2);
Iterator<Integer> it = linkedList.iterator();
while (it.hasNext()){
if (it.next()%2==0)
it.remove();
}
效率更高,整个程序花费线性时间