Cap*_*o90 3 java lambda java-8
是否可以在Java 8中引入的Map.foreach函数中使用多个命令?
所以与其:
map.forEach((k, v) ->
System.out.println(k + "=" + v));
Run Code Online (Sandbox Code Playgroud)
我想做的事情如下:
map.forEach((k, v) ->
System.out.println(k)), v.forEach(t->System.out.print(t.getDescription()));
Run Code Online (Sandbox Code Playgroud)
让我们假设k是字符串而v是集合.
用这个:
map.forEach(
(k,v) -> {
System.out.println(k);
v.forEach(t->System.out.print(t.getDescription()))
}
);
Run Code Online (Sandbox Code Playgroud)
如果你有一个流你可以使用peek().
map.entrySet().stream()
.peek(System.out::println) // print the entry
.flatMap(e -> e.getValue().stream())
.map(t -> t.getDescription())
.forEach(System.out::println); // print all the descriptions
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4439 次 |
| 最近记录: |