java比较器Comparator
生活随笔
收集整理的這篇文章主要介紹了
java比较器Comparator
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 實現比較類
public class Comparator implements java.util.Comparator<TaskInfo>{
@Override
public int compare(TaskInfo o1, TaskInfo o2) {
//查驗位置
if(o1.getPriority()==o2.getPriority() && o1.getPriority()==Constants.PRIORITY_HIGH){
return o1.getCheckPosition().compareTo(o2.getCheckPosition());
}
//請求時間早晚
if(o1.getPriority()==o2.getPriority() && o1.getPriority()!=Constants.PRIORITY_HIGH){
return (int) (o1.getTimeStamp().getTime()-o2.getTimeStamp().getTime());
}
//優先級
return o1.getPriority()-o2.getPriority();
}
}
public static final Queue<TaskInfo> REQUESTDISPATCHQUEUE = new PriorityBlockingQueue<>(Constants.ARRAY_SIZE, new Comparator<TaskInfo>() );
2. 直接覆蓋
public static final Queue<TaskInfo> REQUESTDISPATCHQUEUE = new PriorityBlockingQueue<>(Constants.ARRAY_SIZE, new Comparator<TaskInfo>() {
@Override
public int compare(TaskInfo o1, TaskInfo o2) {
return o2.getPriority()-o1.getPriority();
}
});
3. 在entity中實現
public class TaskInfo implements Comparable<TaskInfo>{
@Override
public int compareTo(TaskInfo o) {
return this.checkStage - o.checkStage;
}
}
List<TaskInfo> listTaskInfo; Collections.sort(listTaskInfo);
總結
以上是生活随笔為你收集整理的java比较器Comparator的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何增加Tomcat内存
- 下一篇: WSL docker打通容器间通信和追加