Java stream - 如何遍历列表、显示元素并在同一行中收集它们
Java stream - How to go over a list, show elments and collect them in the same line
我有以下内容:
Map<String, String> carMap;
List<Car> cars = ......
carMap = cars.stream
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));
我正在迭代汽车,我想在屏幕上显示地图中包含的内容。我可以在收集地图后做类似的事情,但我不想再检查列表:
cars.stream()
.forEach(System.out::println)
有没有办法在这一行做系统输出?
carMap = cars.stream
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));
我尝试在流后使用 forEach,但显然没有用
如果只是为了调试目的,你既要收集又要打印,你可以在这里简单地使用peek
-
Map<String, String> carMap = cars.stream()
.peek(c -> System.out.println("Value: " + c.getValue() + " and Color: " + c.getColor()))
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));
我有以下内容:
Map<String, String> carMap;
List<Car> cars = ......
carMap = cars.stream
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));
我正在迭代汽车,我想在屏幕上显示地图中包含的内容。我可以在收集地图后做类似的事情,但我不想再检查列表:
cars.stream()
.forEach(System.out::println)
有没有办法在这一行做系统输出?
carMap = cars.stream
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));
我尝试在流后使用 forEach,但显然没有用
如果只是为了调试目的,你既要收集又要打印,你可以在这里简单地使用peek
-
Map<String, String> carMap = cars.stream()
.peek(c -> System.out.println("Value: " + c.getValue() + " and Color: " + c.getColor()))
.collect(Collectors.toMap(key -> key.getValue(), key -> key.getColor()));