使用自定义比较器对Java8中的ArrayList进行排序

使用自定义比较器对Java8中的ArrayList进行排序,java,Java,我有一个Customer类,如下所示: public class Customer{ Integer age; String name; } 我想实现一个自定义排序逻辑,它将 将50岁的客户放在首位 然后是年龄50 Java数组列表如下所示 Customer c1 = new Customer(10, "Ramesh") Customer c2 = new Customer(30, "Mahesh") Customer c3 = new

我有一个
Customer
类,如下所示:

public class Customer{
    Integer age;
    String name;
}
我想实现一个自定义排序逻辑,它将

将50岁的客户放在首位
然后是
年龄<50

然后
年龄>50

Java数组列表如下所示

Customer c1 = new Customer(10, "Ramesh")
Customer c2 = new Customer(30, "Mahesh")
Customer c3 = new Customer(50, "Suresh")
Customer c4 = new Customer(70, "John")
Customer c5 = new Customer(80, "Doe")
多种选择之一:

Comparator<Customer> comparator = Comparator.comparingInt(o -> o.age==50 ? 1 : o.age<50 ? 2 : 3);

Comparator Comparator=Comparator.comparingit(o->o.age==50?1:o.age为了将特定的年龄50移到顶部,并保持其他年龄按其自然顺序排序(0<10<20<50<60<70),使用此比较器是合适的:
Comparator.comparingit(c->c.age==50?-1:c.age)

List cust=Arrays.asList(
新客户(30,“Ramesh”),
新客户(20,“Mahesh”),
新客户(50,“Suresh”),
新客户(80,“约翰”),
新客户(60,“Doe”)
);
Collections.sort(cust、Comparator.comparingit(c->c.age==50?-1:c.age));
cust.forEach(System.out::println);
输出:

{name = Suresh, age=50}
{name = Mahesh, age=20}
{name = Ramesh, age=30}
{name = Doe, age=60}
{name = John, age=80}

这是语言基础。看看这里的例子,到目前为止你都做了些什么!?