ish*_*win 2 java arrays priority-queue
有更好的方法来转换PriorityQueue<int[]> pq吗int[pq.size()][pq.peek().length]?
pq.toArray()给出一个Object数组,但我不太确定如何将其转换为数组int。
我尝试过的一种方法是:
PriorityQueue<int[]> pq = new PriorityQueue<int[]>();
int[] fin = new int[pq.size()];
for(int i=0;i<pq.size();i++) {
fin[i] = pq.remove();
}
Run Code Online (Sandbox Code Playgroud)
但我正在寻找更好的时间优化解决方案。
您可以像这样使用的PriorityQueue工具:Collection#toArray(T[] a)
int[][] fin = pq.toArray(new int[0][0]);
Run Code Online (Sandbox Code Playgroud)
请注意,根据您的问题,您使用了无类型版本,它toArray()不带任何参数并返回Object[]。这相当于toArray(new Object[0]).
| 归档时间: |
|
| 查看次数: |
4260 次 |
| 最近记录: |