如何在优先级队列中设置优先级

苏米特·库玛·阿加瓦尔

我正在学习Java,并试图学习集合中的优先级队列。我尝试从一个网站使用以下示例:

import java.util.*;    
class S
{
    public static void main(String args[])
    {
        PriorityQueue<String> queue=new PriorityQueue<String>();
        queue.add("Amit");
        queue.add("Vijay");
        queue.add("Karan");
        queue.add("Rahul");
        queue.add("Jai");

        System.out.println("iterating the queue elements:");
        Iterator<String> itr=queue.iterator();
        while(itr.hasNext())
        {
            System.out.println(itr.next());
        }
    }
}

这里的结果如下:

Amit
Jai
Karan
Vijay
Rahul`

我期望的结果是:

Amit
Vijay
Karan
Rahul
Jai

我无法理解结果如何变化,以及使用哪种类型的正常或默认优先级。
如果我想获得与期望相同的结果,我应该使用prioiryqueue做什么?

请帮我。

在这里,我想要优先级队列中默认排序的确切原因。

安德烈亚斯(Andreas)

引用javadoc PriorityQueue

在方法提供的迭代iterator()保证遍历优先级队列中的元素中的任何特定顺序

如您所见,PriorityQueue使用时,的顺序无关紧要iterator()现在,如果你开始从队列中取值使用poll(),你会得到在字典顺序的值,即在自然秩序String

如果您想要一个按插入顺序返回项目的队列,请使用常规Queue实现,例如LinkedListArrayDeque

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

增加优先级队列中的优先级

来自分类Dev

如何在OpenSSL中设置SSL协议优先级

来自分类Dev

如何在ActiveAdmin中设置父菜单优先级?

来自分类Dev

如何在Microsoft Luis模式中设置优先级?

来自分类Dev

如何在延迟作业和活动作业中设置队列优先级?

来自分类Dev

从字典设置优先级队列

来自分类Dev

Java优先级队列如何工作?

来自分类Dev

如何删除STXXL优先级队列?

来自分类Dev

此优先级队列如何工作?

来自分类Dev

Redis中的并发优先级队列?

来自分类Dev

在C ++中实现优先级队列

来自分类Dev

在C ++中实现优先级队列

来自分类Dev

python中的优先级队列

来自分类Dev

如何在xUnit中设置测试优先级以及如何基于优先级运行选择性测试

来自分类Dev

如何在C ++中正确使用优先级队列

来自分类Dev

Python:以时间为优先级的优先级队列

来自分类Dev

如何设置Android服务的优先级?

来自分类Dev

如何设置 ExchangeService 的 ResponseMessage 的优先级

来自分类Dev

在C中设置线程优先级

来自分类Dev

在C中设置线程优先级

来自分类Dev

设置$ PATH的优先级

来自分类Dev

brms:如何在分类变量上设置优先级?

来自分类Dev

如何在uiwebviews之间设置cpu优先级?

来自分类Dev

如何在Java中迭代和更改优先级队列中每个项目的值

来自分类Dev

如何在不使用类的情况下反转Python中的优先级队列?

来自分类Dev

如何在C ++中定义具有四个值的优先级队列?

来自分类Dev

如何在Scala中获取优先级队列的第k个最小元素?

来自分类Dev

Python中“ in”的优先级

来自分类Dev

mysql 中的优先级