Java中如何自定义优先级

avatar
作者
猴君
阅读量:0

在Java中,可以通过实现Comparable接口或者创建一个Comparator来自定义优先级。

  1. 实现Comparable接口:
public class CustomPriority implements Comparable<CustomPriority> {     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方法的返回值对元素进行排序。

  1. 使用Comparator
import java.util.Comparator;  public class CustomPriorityComparator implements Comparator<Integer> {     @Override     public int compare(Integer o1, Integer o2) {         return Integer.compare(o1, o2);     } } 

然后,你可以在创建PriorityQueue时传入这个比较器:

PriorityQueue<Integer> priorityQueue = new PriorityQueue<>(new CustomPriorityComparator()); 

这样,优先队列会根据CustomPriorityComparator中的compare方法对元素进行排序。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!