Java中集合遍历的几种方式:
1. for-each循环(增强for循环)
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表达式(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循环
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种方式之外,其他方式都是基于迭代器实现的。而在使用迭代器遍历集合时,应当注意对集合进行修改的情况,以防止出现ConcurrentModificationException等异常情况。
同时,在Java 8及以上版本中,推荐使用Lambda表达式或Stream流进行集合遍历操作,以提高代码的简洁性和可读性,使用起来更加简便和灵活。
网友评论