Java中集合遍歷的幾種方式:
1. for-each循環(huán)(增強(qiáng)for循環(huán))
List<String> list = new ArrayList<>();
for(String str : list) {
System.out.println(str);
}
2. 迭代器(Iterator)
List<String> list = new ArrayList<>();
Iterator<String> iterator = list.iterator();
while(iterator.hasNext()) {
String str = iterator.next();
System.out.println(str);
}
3. Lambda表達(dá)式(Java 8及以上版本)
List<String> list = new ArrayList<>();
list.forEach(str -> System.out.println(str));
4. Stream流(Java 8及以上版本)
List<String> list = new ArrayList<>();
list.stream().forEach(str -> System.out.println(str));
5. for循環(huán)
List<String> list = new ArrayList<>();
for(int i = 0; i < list.size(); i++) {
String str = list.get(i);
System.out.println(str);
}
6. ListIterator(逆向迭代)
List<String> list = new ArrayList<>();
ListIterator<String> it = list.listIterator(list.size());
while(it.hasPrevious()) {
String str = it.previous();
System.out.println(str);
}
7. Enumeration(枚舉)
Vector<String> vector = new Vector<>();
Enumeration<String> enu = vector.elements();
while(enu.hasMoreElements()) {
String str = enu.nextElement();
System.out.println(str);
}
需要注意的是跪解,除了第5種方式之外炉旷,其他方式都是基于迭代器實現(xiàn)的。而在使用迭代器遍歷集合時叉讥,應(yīng)當(dāng)注意對集合進(jìn)行修改的情況窘行,以防止出現(xiàn)ConcurrentModificationException等異常情況。
同時图仓,在Java 8及以上版本中罐盔,推薦使用Lambda表達(dá)式或Stream流進(jìn)行集合遍歷操作,以提高代碼的簡潔性和可讀性救崔,使用起來更加簡便和靈活惶看。