阅读量:125
在Java中,可以通过实现Comparable接口或者创建一个Comparator来自定义优先级。
- 实现
Comparable接口:
public class CustomPriority implements Comparable {
private int priority;
public CustomPriority(int priority) {
this.priority = priority;
}
@Override
public int compareTo(CustomPriority other) {
return Integer.compare(this.priority, other.priority);
}
}
然后,你可以将这个类的对象放入一个优先队列(PriorityQueue)中,优先队列会根据compareTo方法的返回值对元素进行排序。
- 使用
Comparator:
import java.util.Comparator;
public class CustomPriorityComparator implements Comparator {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1, o2);
}
}
然后,你可以在创建PriorityQueue时传入这个比较器:
PriorityQueue priorityQueue = new PriorityQueue<>(new CustomPriorityComparator());
这样,优先队列会根据CustomPriorityComparator中的compare方法对元素进行排序。