Java遍历集合方法汇总(4种,附带实例)
Java 提供了 4 种在集合中遍历的方法,包括经典循环、增强型 for 循环、迭代和 forEach() 方法(从 Java 8 开始)。
例如:
例如:
在 Set 集合中用迭代器遍历:
在 Map 集合中用迭代器遍历:
例如:
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));