根据Java 8

时间:2017-07-26 06:12:24

标签: java lambda java-8

这与链接的问题不重复。这是否意味着我必须提出一个新问题?

我有一个Task类

class Task {
String personId;
String taskId;
int sum;
}

我有一个任务列表 - 列表

1  task50   9   
1  task100  12
2  task50   10
3  task1    50

我该怎么做?

对列表进行排序,以便对于taskid = task50,按sum desc

排序

结果列表

2   task50   10
1   task50    9
1   task100  12
3   task1    50

为了增加一点清晰度,结果列表应该包含列表顶部的task50,按照降序排序。列表的其余部分应显示在原始列表中。

1 个答案:

答案 0 :(得分:0)

试试这个

taskList.sort((c1, c2) -> c1.getTaskId().equals("task50")&&c2.getTaskId().equals("task50")?c1.getSum().compareTo(c2.getSum()):null);