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()));