gpt4 book ai didi

Java,使用比较器对ArrayList进行排序

转载 作者:行者123 更新时间:2023-12-01 17:03:30 25 4
gpt4 key购买 nike

我想按两个标准对我的 Task 对象列表进行排序。首先按 leftEntryTime 排序,然后按 timeNeededToBeProcessed 排序。

有人可以帮助我吗?

到目前为止,我已经按 leftEntryTime 排序,但如何在同一个 Comparator 类中按 timeNeededToBeProcessed 对其进行排序?

 Task(int procesID, int neededTime, int waitingTime, int leftEntryTime) {
this.procesID = procesID;
this.timeNeededToBeProcessed = neededTime;
this.waitingTime = waitingTime;
this.leftEntryTime = leftEntryTime;
}

这是我的比较器:

import java.util.Comparator;

public class TimeEntryComparator implements Comparator<Task> {

@Override
public int compare(Task o1, Task o2) {
int entryTime;
int taskTime = o1.getLeftEntryTime()- o2.getLeftEntryTime();

if (taskTime > 0){
return 1;
}

if (taskTime < 0) {
return -1;
}
return 0;
}
}

然后我将其排序:

Collections.sort(list, new TimeEntryComparator());

最佳答案

类似于:

public class TimeEntryComparator implements Comparator<Task> {
@Override
public int compare(Task o1, Task o2) {
if (o1.getLeftEntryTime() == o2.getLeftEntryTime())
return o1.getTimeNeededToBeProcessed() - o2.getTimeNeededToBeProcessed();
return o1.getLeftEntryTime() - o2.getLeftEntryTime();
}
}

关于Java,使用比较器对ArrayList进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26530915/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com