0 java lambda string-concatenation
我是lambda表达式的新手,目前我坚持要解决的任务(只是为了学习lambda)。
给定是一个映射Map<String, Set<Integer>>,我想遍历将键及其值连接为String的条目集。
该地图可能如下所示:
“ x”,[1,3,5]
“ y”,[2,3]
“ z”,[2,4]
我想以这种String表示形式结束:
“ x:1、3、5; y:2、3; z:2、4”
我什至不知道从哪里开始。可以在Internet上找到的所有示例都只是循环一个列表或具有单个值(而不是一个值)的映射,并且大多数情况下它们都是System.out.println()。我什至不知道如何开始... forEach或流?我想我需要一个(或多个?)收集器可以加入值,但我只是不知道如何实现这一点。一个表达式甚至可能吗?
有人可以给我提示吗?
像这样
Map<String, Set<Integer>> map = new HashMap<>();
// fill map here
String result = map.entrySet().stream()
.map(x -> x.getKey() + ": " + x.getValue().stream()
.map(Object::toString)
.collect(Collectors.joining(", ")))
.collect(Collectors.joining("; "));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2371 次 |
| 最近记录: |