Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java流中使用collectors.groupingBy修改返回的映射值类型_Java_Java 8 - Fatal编程技术网

在Java流中使用collectors.groupingBy修改返回的映射值类型

在Java流中使用collectors.groupingBy修改返回的映射值类型,java,java-8,Java,Java 8,我有以下条目的类定义- public class Entry { private String key; private String Value; // getters and setters // equals hashcode toString } 我从数据库中获得了条目对象的列表。 我想根据键对它们进行分组,结果映射的值应该是Set 我试过了,最后得到了下面的代码 Map<String, Set<Entry>> groupedEn

我有以下
条目的类定义
-

public class Entry {
    private String key;
    private String Value;
    // getters and setters
    // equals hashcode toString
}
我从数据库中获得了
条目
对象的列表。 我想根据键对它们进行分组,结果映射的值应该是
Set

我试过了,最后得到了下面的代码

Map<String, Set<Entry>> groupedEntries =  
        entryList.findAll()
                 .stream()
                 .collect(Collectors.groupingBy(ek -> ek.getKey().toLowerCase(), Collectors.toSet()));
Map-groupedEntries=
entryList.findAll()
.stream()
.collect(Collectors.groupingBy(ek->ek.getKey().toLowerCase(),Collectors.toSet());
这个代码的问题是结果类型是
Map
,但我想成为
Map


是否可以在一次收集中完成此操作

使用
映射
收集器:

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

您正在按
ek->ek.getPlatform()
进行分组。它对应于键还是值?嗨,阿诺-我已经更新了我的问题,但答案总是正确的same@Eugene似曾相识。完全同意。