我们可以定义一个数组的优先级队列来比较数组的长度吗?
PriorityQueue<int[]> pq=new PriorityQueue<int[]>(5, (a,b) -> a.length - b.length);
int[] a = new int[]{1,2};
int[] b = {1,2,3};
int[] c = new int[]{3};
pq.add(a);
pq.add(b);
pq.add(c);
while (pq.size() != 0)
{
System.out.println(pq.remove());
}
}
输出:
[I @ 1c20c684
[I @ 1fb3ebeb
[I @ 548c4f57
答案 0 :(得分:2)
你可以用你想要的比较器。您的代码是打印数组的地址作为输出。您可以使用java.util.Arrays.toString()方法。