在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
时传入这个比较器:
PriorityQueuepriorityQueue = new PriorityQueue<>(new CustomPriorityComparator());
这样,优先队列会根据CustomPriorityComparator
中的compare
方法对元素进行排序。