javaPriorityQueue如何自定义排序规则
时间: 2023-10-19 19:17:25 浏览: 98
可以通过传入一个Comparator对象来实现自定义排序规则。Comparator对象需要实现compare方法,该方法定义了两个元素之间的比较规则。在创建PriorityQueue对象时,将Comparator对象作为参数传入,就可以实现自定义排序规则。以下是一个例子:
```java
import java.util.Comparator;
import java.util.PriorityQueue;
public class Example {
public static void main(String[] args) {
// 自定义排序规则:按照字符串长度升序排列
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String s1, String s2) {
return s1.length() - s2.length();
}
};
PriorityQueue<String> queue = new PriorityQueue<>(comparator);
queue.add("hello");
queue.add("world");
queue.add("java");
queue.add("programming");
while (!queue.isEmpty()) {
System.out.println(queue.poll());
}
}
}
```
输出结果:
```
java
hello
world
programming
```
阅读全文