迭代集合
任何类型Collection的可迭代 - 列表,集合,队列 等都具有使用forEach的相同语法。
因此,正如我们已经看到的,迭代列表的元素:
List<String> names = Arrays.asList("Larry", "Steve", "James");
names.forEach(System.out::println);
同样对于一组:
Set<String> uniqueNames = new HashSet<>(Arrays.asList("Larry", "Steve", "James"));
uniqueNames.forEach(System.out::println);
或者让我们说一个队列也是一个集合:
Queue<String> namesQueue = new ArrayDeque<>(Arrays.asList("Larry", "Steve", "James"));
namesQueue.forEach(System.out::println);
迭代Map - 使用Map的forEach Map没有实现Iterable接口,但它提供了自己的forEach 变体,它接受BiConsumer。*
Map<Integer, String> namesMap = new HashMap<>();
namesMap.put(1, "Larry");
namesMap.put(2, "Steve");
namesMap.put(3, "James");
namesMap.forEach((key, value) -> System.out.println(key + " " + value));
迭代一个Map - 通过迭代entrySet
namesMap.entrySet().forEach(entry -> System.out.println(entry.getKey() + " " + entry.getValue()));