我知道collect()和forEach()都是流终端操作,并且在同一个流上调用它们会抛出一个IllegalStateException. 但是,以下代码可以成功编译并按升序打印每个字符串的长度。不会引发任何异常。怎么会这样呢?
List<String> list = Arrays.asList("ant", "bird", "chimpanzee", "dolphin");
list.stream().collect(Collectors.groupingBy(String::length))
.forEach((a, b) -> System.out.println(a));
慕盖茨4494581
MMTTMM
相关分类