繁体   English   中英

Java Lambda表达式:如何从哈希图中连接键和值集?

[英]Java lambda expression: How to concatenate key and set of values from a hashmap?

我是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”

我什至不知道从哪里开始。 在互联网上可以找到的所有示例都只是循环一个列表或具有单个值(而不是一个值)的映射,并且大多数情况下,它们所做的都是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("; "));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM