java - 如何将数组的数据直接放入PriorityQueue

标签 java collections queue

如何将数组的数据直接放入实现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/

相关文章:

java - 如何在Java中对Spark DataFrame应用字符串操作

c# - 在列表或字典之间选择

python - 在 Python 中初始化队列

java.lang.RuntimeException : Waited too long for browser bridge with googlemaps

java - 在java中创建自定义对象数组

java - 如何在包含句子的字符串数组中搜索确切的单词(JAVA)

java - entrySet 如何链接到 HashMap 内部的表?

java - 将 int 数组转换为集合

multithreading - 线程构建 block concurrent_bounded_queue — 我如何“关闭”它?

c# - 缓存先前搜索的策略 (ASP.NET)