如何在Java中将Stream API与lambda结合使用来对集合进行排序?
StreamAPI是用Java实现功能编程的强大方法。它通常与lambda表达式结合使用,并提供一种有效的方式来执行数据操作,如排序,过滤,映射,归约等。
在下面的示例中,我们可以使用Stream API对集合进行排序。 它通过使用Comparator 接口的sorted()方法提供排序逻辑。如果我们有两个Comparator接口实例,并且需要按复合条件(通过第一个比较器,然后通过第二个 比较器)进行排序,则可以通过在第一个实例上调用thenComparing()方法并在第二个实例中传入来使用两个比较器。
示例
import java.util.*;
import java.util.stream.*;
public class LambdaSortCollectionTest {
public static void main(String args[]) {
Stream<Employee> emps = Stream.of(
new Employee("Raja"),
new Employee("Ramesh"),
new Employee("Surya"),
new Employee("Jai"),
new Employee("Adithya"));
Comparator<Employee> c1 = Comparator.comparing(e -> e.name.length());
Comparator<Employee> c2 = (e1, e2) -> e1.name.compareTo(e2.name);
List<Employee> list = emps.sorted(c1.thenComparing(c2)).collect(Collectors.toList());
System.out.println(list);
}
}
// Employee class
class Employee {
public String name;
public Employee(String n) {
name = n;
}
@Override
public String toString() {
return name;
}
}输出结果
[Jai, Raja, Surya, Ramesh, Adithya]
热门推荐
10 高考前祝福语简短字句
11 爸爸爱你祝福语大全简短
12 舅妈生日红包祝福语简短
13 拜年啦祝福语大全简短
14 公司春节祝福语和简短
15 祝女性生日祝福语简短
16 新年的鸡汤祝福语简短
17 姐妹结婚快乐祝福语简短
18 最搞笑生日祝福语简短