相关疑难解决方法(0)

如何在Java中按两个字段排序?

我有一些对象person (int age; String name;).

如何按名称和年龄按字母顺序对此数组进行排序?

您会使用哪种算法?

java sorting

152
推荐指数
9
解决办法
16万
查看次数

使用Lambda表达式对多个属性进行排序

这是我的清单:

Name: Ben     || Age: 5 || Group: 1
Name: Andy    || Age: 6 || Group: 2
Name: Charlie || Age: 6 || Group: 2
Name: Ben     || Age: 5 || Group: 1
Name: Andy    || Age: 5 || Group: 2
Name: Charlie || Age: 5 || Group: 1
Run Code Online (Sandbox Code Playgroud)

我想对列表进行排序Group,如果Group等于那么Age,如果Age是等于那么Name.但到目前为止,我只能使用Lambda表达式按一个属性排序:

list.sort((Object o1, Object o2) -> o1.getGroup().compareTo(o2.getGroup()));
Run Code Online (Sandbox Code Playgroud)

如果我试试

o1.getGroup().compareTo(o2.getGroup()) && o1.getAge().compareTo(o2.getAge())
Run Code Online (Sandbox Code Playgroud)

事实证明错误......

java lambda java-8

7
推荐指数
2
解决办法
7160
查看次数

标签 统计

java ×2

java-8 ×1

lambda ×1

sorting ×1