Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.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流按嵌入对象分组_Java_Lambda_Java 8_Functional Programming_Java Stream - Fatal编程技术网

java流按嵌入对象分组

java流按嵌入对象分组,java,lambda,java-8,functional-programming,java-stream,Java,Lambda,Java 8,Functional Programming,Java Stream,我有两个目标: public class RequestHostel { private Hostel name; } 及 我想知道是否有可能按照hotel的值进行分组,比如 .stream().collect(Collectors.groupingBy(RequestHostel::getName::getValue, counting())) 不能链接方法引用,但可以使用lambda: .stream().collect(Collectors.groupingBy(rh ->

我有两个目标:

public class RequestHostel {
    private Hostel name;
}

我想知道是否有可能按照hotel的值进行分组,比如

.stream().collect(Collectors.groupingBy(RequestHostel::getName::getValue, counting()))

不能链接方法引用,但可以使用lambda:

.stream().collect(Collectors.groupingBy(rh -> rh.getName().getValue(), counting()))
或者,如果不使用这些对象,您可以简单地映射它们:

.stream().map(RequestHostel::getName).collect(Collectors.groupingBy(Hotel::getValue, counting()))

不能像以前那样链接方法引用。但是是的,您可以使用lambda:

Map<String, Long> countGroupedByValue = requestHostels.stream()
        .collect(Collectors.groupingBy(requestHostel -> requestHostel.getName().getValue(),
                Collectors.counting()));
Map countGroupedByValue=requestHostels.stream()
.collect(Collectors.groupingBy(requestHostel->requestHostel.getName().getValue(),
收集器。计数();
Map<String, Long> countGroupedByValue = requestHostels.stream()
        .collect(Collectors.groupingBy(requestHostel -> requestHostel.getName().getValue(),
                Collectors.counting()));