首页 > 编程笔记 > Java笔记 阅读:7

Java遍历集合方法汇总(4种,附带实例)

Java 提供了 4 种在集合中遍历的方法,包括经典循环、增强型 for 循环、迭代和 forEach() 方法(从 Java 8 开始)。

1、经典循环遍历集合

这种遍历方法在编程中的应用非常普遍,其中,计数器变量从集合中的第一个元素运行到最后一个元素。

例如:
for (int i = 0; i < listNames.size(); i++) {
    String name = listNames.get(i);
    System.out.println(name);
}
使用计数器变量要求集合必须以基于索引的形式(如 ArrayList)存储元素,并且必须提前知道集合的大小。这不是所有集合都支持的方法,如 Set 集合不会将元素存储为基于索引的形式。因此,这种方法不能用于所有集合。

2、增强型for循环遍历集合

从 Java 5 开始,开发者可以使用更简洁的语法来遍历集合——增强型 for 循环。

例如:
for (String s : listNames) {
    System.out.println(s);
}
增强型 for 循环实际上使用了迭代器,这意味着编译时 Java 编译器会将增强型 for 循环转换为迭代器构造。新的语法为开发者提供了一种更方便的遍历集合的方式。

3、迭代遍历集合

在 List 集合中用迭代器遍历:
Iterator<String> iter = listNames.iterator();
while (iter.hasNext()) {
    String name = iter.next();
    System.out.println(name);
}

在 Set 集合中用迭代器遍历:
Set<String> set = new HashSet<>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
Iterator<String> iter = set.iterator();
while (iter.hasNext()) {
    String letter = iter.next();
    System.out.println(letter);
}

在 Map 集合中用迭代器遍历:
Map<String, Integer> score = new HashMap<>();
score.put("数学", 90);
score.put("英语", 92);
score.put("语文", 90);
score.put("政治", 92);
Iterator<String> iter = score.keySet().iterator();
while (iter.hasNext()) {
    String key = iter.next();
    Integer value = score.get(key);
    System.out.println(key + "-->" + value);
}

4、forEach()方法遍历集合

Java 8 为所有的集合添加了 forEach() 方法。forEach() 方法定义在 java.lang.Iterable 接口中,以只读形式遍历集合中所有的元素,并为每个元素执行一个动作。

例如:
listNames.forEach(name -> System.out.println(name));

相关文章