forEach在集合中的使用

forEach在集合中的使用

迭代集合

任何类型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()));