集合排序Java

Was*_*D F 0 java sorting collections java-8

嗨伙计们我有3个收藏,第一个我想要按名称排序,第二个用于电子邮件,然后最后一个我想要按年龄排序.我的问题是它使用集合吗?

如果我在sql中这样做

sort by name,email,age
Run Code Online (Sandbox Code Playgroud)

我知道它的工作正常吗?

我试着在这样的java中做.

Collections.sort(listPeople, new Comparator<People>() {
    @Override
    public int compare(final People o1, final People o2) {
        return o1.getName().compareTo(o2.getName());
    }
});

//then

Collections.sort(listPeople, new Comparator<People>() {
    @Override
    public int compare(final People o1, final People o2) {
        return o1.getEmail().compareTo(o2.getEmail());
    }
});

//and then 

Collections.sort(listPeople, new Comparator<People>() {
    @Override
    public int compare(final People o1, final People o2) {
        return o1.getAge().compareTo(o2.getAge());
    }
});
Run Code Online (Sandbox Code Playgroud)

这行得通?或者每个集合覆盖以前的?

Eug*_*ene 6

如果我弄错了,你应该在这里使用java-8功能......

Collections.sort(listPeople, Comparator.comparing(People::getName)
                     .thenComparing(People::getEmail)
                     .thenComparing(People::getAge));
Run Code Online (Sandbox Code Playgroud)