gpt4 book ai didi

sorting - 合并和排序多个流 java 8

转载 作者:行者123 更新时间:2023-12-01 11:12:44 27 4
gpt4 key购买 nike

我有多个学生对象流。我必须按排序顺序合并它们。

class Student {
private String branch;
private Integer rollNo;
private Date doj;
// Getters and Setters
}

在另一个类中,我有一个方法

private Stream<Student> mergeAndSort(Stream<Student> s1, Stream<Student> s2, Stream<Student> s3) {
return Stream.of(s1, s2, s3).sorted(...
// I tried this logic multiple times but is not working. How can I inject Student comparator here.
// I have to sort based on branch and then rollNo.
);
}

最佳答案

Stream.of(s1, s2, s3)给你一个 Stream<Stream<Student>> .为了得到Stream<Student> , 使用 flatMap :

Stream.of(s1, s2, s3).flatMap(Function.identity()).sorted(...)...

根据需要的属性排序:

return Stream.of(s1, s2, s3)
.flatMap(Function.identity())
.sorted(Comparator.comparing(Student::getBranch).thenComparing(Student::getRollNo));

关于sorting - 合并和排序多个流 java 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57973953/

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