龙空技术网

Java集合迭代器遍历

大连赵哥 70

前言:

此刻看官们对“java迭代器遍历集合”大致比较关心,各位老铁们都需要学习一些“java迭代器遍历集合”的相关资讯。那么小编在网摘上网罗了一些关于“java迭代器遍历集合””的相关知识,希望看官们能喜欢,兄弟们快快来了解一下吧!

package unit3;

import java.util.ArrayList;

import java.util.Iterator;

import java.util.List;

public class Java29 {

public static void main(String[] args) {

// 集合遍历删除元素的坑

// 如果实现集合删除必须使用迭代器删除、否则会报ConcurrentModificationException

// Iterator原理:

// 迭代器 集合

// 1 -> a

// 2 -> b

// 3 -> c

// 迭代器会创建一个指向原来集合的索引表、集合元素删除的时候、迭代器中的索引表不会同步改变、找不到要迭代的对象、所以报错。

List<Integer> list = new ArrayList<>();

list.add(1);

list.add(2);

list.add(3);

list.add(4);

list.add(5);

// for (int i: list) {

// if (i == 3) {

// list.remove(i);

// }

// }

// 用迭代器方式删除

Iterator<Integer> iterator = list.iterator();

while (iterator.hasNext()) {

int x = iterator.next();

if (x == 3) {

iterator.remove();

}

System.out.println(x);

}

list.forEach(System.out::println);

}

}

标签: #java迭代器遍历集合