如何将数组的数据直接放入实现Queue
接口(interface)的PriorityQueue
中?
ContestantFilter [] contestantFilter = new ContestantFilter [50];
contestantFilter [0] = new ContestantFilter("Agnesy Pricillia","IF110026");
contestantFilter [1] = new ContestantFilter("Ellen Shie ","IF110103");
contestantFilter [2] = new ContestantFilter("Wilma Yue Gunawan","EL110021");
.................
.................
Queue<ContestantFilter> queue = new PriorityQueue<ContestantFilter>(1,
new Comparator<ContestantFilter>() {
@Override
public int compare(ContestantFilter t1, ContestantFilter t2) {
return t1.getID().compareTo(t2.getID());}});
我试过了
for(ContestantFilter c : contestantFilter ){ queue.add(c);}
但是速度很慢。
类似的东西:
queue = ((Queue<ContestantFilter >) Arrays.asList(contestantFilter );
转换不起作用。
最佳答案
使用PriorityQueue#addAll
创建队列实例后的方法:
//... is a replacement for your custom Comparator<ContestantFilter>
Queue<ContestantFilter> queue = new PriorityQueue(...);
queue.addAll(Arrays.asList(contestantFilter));
关于java - 如何将数组的数据直接放入PriorityQueue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25087528/