我對java8流中map()
和forEach()
方法之間的區別感到困惑。例如,java8流映射在這裏做什麼?
List<String> strings = Lists.newArrayList("1", "2");
Map<String, String> map = Maps.newHashMap();
strings.stream().map(s->map.put(s, s));
System.out.println(map);
我來到這裏空輸出,但如果我改變映射到forEach()
就像
List<String> strings = Lists.newArrayList("1", "2");
Map<String, String> map = Maps.newHashMap();
strings.stream().forEach(s->map.put(s, s));
System.out.println(map);
我能得到
{1 = 1,2 = 2}
爲什麼它只是沒有運行map()
方法?他們有什麼區別?