Java中如何自定义优先级
导读:在Java中,可以通过实现Comparable接口或者创建一个Comparator来自定义优先级。 实现Comparable接口: public class CustomPriority implements Comparable<...
在Java中,可以通过实现Comparable
接口或者创建一个Comparator
来自定义优先级。
- 实现
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
方法的返回值对元素进行排序。
- 使用
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
方法对元素进行排序。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Java中如何自定义优先级
本文地址: https://pptw.com/jishu/698050.html