gpt4 book ai didi

java - Java流中用collectors.groupingBy修改返回的Map值类型

转载 作者:搜寻专家 更新时间:2023-11-01 01:49:04 25 4
gpt4 key购买 nike

我在 Entry 的类定义下面-

public class Entry {
private String key;
private String Value;
// getters and setters
// equals hashcode toString
}

我得到了 Entry 的列表来自数据库的对象。我想根据结果映射的键和值对它们进行分组应该是 Set<value> .

我尝试并以下面的代码结束。

Map<String, Set<Entry>> groupedEntries =  
entryList.findAll()
.stream()
.collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), Collectors.toSet()));

此代码的问题是结果类型是 Map<String, Set<Entry>>但我想成为Map<String, Set<String>> .

是否可以在单次收集中执行此操作?

最佳答案

使用映射收集器:

.collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), 
Collectors.mapping(Entry::getValue, Collector.toSet())));

关于java - Java流中用collectors.groupingBy修改返回的Map值类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51598772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com