Java:优先级队列

2023-11-21

我有一个java程序,它是这样的

公共类 PriorityQueue 示例 {

public static void main(String[] args) {
    PriorityQueue<Integer> pq = new PriorityQueue<Integer>();
    pq.add(10);
    pq.add(1);
    pq.add(9);
    pq.add(2);
    pq.add(8);
    pq.add(3);
    pq.add(7);
    pq.add(4);
    pq.add(6);
    pq.add(5);
System.out.println(pq);

}

}

我的问题是为什么优先级队列不对它们进行排序。根据java规范,它实现了可比较并保持排序顺序(自然排序)

我的程序输出如下: [1, 2, 3, 4, 5, 9, 7, 10, 6, 8]


它已排序,但内部元素存储在heap。如果你打电话peek(), poll(), or remove(),您将获得正确的顺序(这就是访问队列的方式)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java:优先级队列 的相关文章

  • 如何使用retrofit2动态设置超时?

    public class Router private static Retrofit retrofit null public Retrofit getRetrofit if retrofit null OkHttpClient clie
  • H.323,如何制作一个没有媒体的简单环。该脚本遵循 Q.931 设置,但仍然无法正常工作

    谁能帮我解决这个问题吗 当我发送此请求时 我在wireshark中看到数据包将发送到1720 tcp端口中的SJPhone 但 SJPhone 仍然没有响铃 我想让它响起 无论媒体 我非常感谢您的支持 我一定缺少消息协议细节来实现这个 请给
  • Spring boot 2.0.5.RELEASE和mongo 4.0连接问题

    我正在关注使用 MongoDB 访问数据教程春季网站 https spring io guides gs accessing data mongodb 我将 Mongo DB 服务器版本 4 安装为服务当我使用客户端连接到它时 它的身份验证
  • Java“空白最终字段可能尚未初始化”方法中抛出异常

    我有一些代码 例如 final int var1 if isSomethingTrue var1 123 else throwErrorMethod int var2 var1 throwErrorMethod 的定义如下 private
  • ResultSet:通过索引检索列值与通过标签检索

    使用 JDBC 时 我经常遇到这样的结构 ResultSet rs ps executeQuery while rs next int id rs getInt 1 Some other actions 我问自己 以及代码作者 为什么不使用
  • Active MQ - HelloWorld 示例异常

    我正在尝试运行 hello world 示例在这里找到 http activemq apache org hello world html I added activemq all 5 5 1 jar已经到图书馆了 它构建成功 但出现以下警
  • 初始堆大小无效。无法创建Java虚拟机

    我遇到了下一个问题 我尝试通过startup bat手动启动Tomcat 但似乎没有显示任何结果 然后我尝试运行shutdown bat 控制台显示如下 D apache tomcat 7 0 35 bin gt startup bat U
  • 如何为java注释处理器编写自动化单元测试?

    我正在尝试使用 java 注释处理器 我可以使用 JavaCompiler 编写集成测试 事实上我现在正在使用 hickory 我可以运行编译过程并分析输出 问题 即使我的注释处理器中没有任何代码 单个测试也会运行大约半秒 对于以 TDD
  • 从字符串生成密钥?

    我需要从字符串生成一个密钥 以便我始终可以从同一字符串创建相同的密钥 具体来说是一个Key对象 这样我就可以用它来创建Cipher进而创建SealedObject 这在 Java 中可行吗 我应该考虑什么类 方法组合才能做到这一点 对于 A
  • MediaPlayer.create() 始终返回 null

    我以前用过媒体播放器 从来没有遇到过这个问题 每当我尝试使用 MediaPlayer create 时 该方法都会给我 null 并且我无法播放声音 我有什么遗漏的吗 public class Game extends Activity p
  • 为什么下面代码的输出是Thread[main,5,main]

    public class test1 public static void main String args TODO Auto generated method stub Thread t Thread currentThread Sys
  • 为什么我要使用责任链而不是 switch 语句

    考虑一下您已经获得了多次验证 仅当要检查的对象属于某种类型时 这些验证才应生效 为什么我要使用责任链而不是 switch 语句 责任链示例 public class Executor Inject private ValidatorFact
  • java中日期转换dd-MMM-yyyy到dd-MM-yyyy

    在Java中将23 Mar 2011转换为23 03 2011的最简单方法是什么 感谢大家 这似乎解决了这个问题 try Calendar cal Calendar getInstance cal setTime new SimpleDat
  • Java 不可变对象 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我正在学习不变性的概念 据我了解 一旦创建对象 不可变对象就无法更改其值 但我不明白不可变对象的以下用途 They are 自动是线程
  • 获取包中声明的所有 Java 类的名称

    我正在编写一个功能 它将有助于将类放入我的程序的某个包中 另外 我只想要子类某个类的类 我需要这些类才能调用它们的静态方法 有没有一种自动的方法来做到这一点 如果是的话 速度慢吗 如果我不清楚 我想要的是这样的 ArrayList
  • 更新分页。是否可以?

    他们是否存在一些方法来处理更新分页 例如我有 100 行类型 Id private Integer id Column private boolean flag Column private Date last 一开始它们看起来像 id f
  • ASTParser:解析绑定后查找声明节点

    我创建了一个启用了绑定的 AST 当我稍后解析绑定时 我得到了一个有效的 ITypeBinding 但是 当我想要获取绑定的声明 Node 时 它 总是返回 null 除非 ITypeBinding 在 sourceFile 中声明 这是我
  • 如何使 JScrollPane 与嵌套 JPanel 一起正常工作?

    我正在使用 NetBeans 在 Java 中构建 Swing 应用程序 但我遇到布局问题 我的主框架包含一个JScrollPane其中包含一个JPanel called contentPanel其中又包含一个JPanel called l
  • AndroidAnnotations 和 Dagger

    我正在尝试使用 Dagger 注入 Android 带注释的 Activity java lang IllegalArgumentException No inject registered for members com app serv
  • Retrofit 2.0:预期为 BEGIN_OBJECT,但在第 1 行第 1 列路径 $ [重复] 处为 STRING

    这个问题在这里已经有答案了 我在邮递员上传递了更新用户请求并获得了成功的响应 参见图片 现在当我尝试使用 Retrofit 2 在我的应用程序中执行相同操作时 出现错误 com google gson JsonSyntaxException

随机推荐

  • 在 .NET (C#) Web 服务中本机返回 XML?

    我意识到 NET 中的 SOAP Web 服务返回 Web 方法返回的任何对象的 XML 表示形式 但如果我想返回 XML 格式的数据 存储它的最佳对象是什么 我正在使用answer to 这个问题编写我的 XML 代码如下 XmlWrit
  • 使用 CsvHelper 可以将空格转换为可为空吗?

    我有一些非常蹩脚的 Csv 文件需要解析 我正在使用 CsvHelper 它运行得很棒 除了我有一些带有空格的行 通常我有一个双行 File 文本 SomeDouble 更多文本 好 1 23 好 不好 不好 如果我尝试将其映射到 publ
  • 用于去抖动(包括函数参数)的 Python 装饰器

    如何在 python 中编写一个去抖装饰器 它不仅对调用的函数进行去抖 而且对所使用的函数参数 函数参数组合进行去抖 去抖意味着在给定的时间范围内抑制对函数的调用 假设您在 1 秒内调用一个函数 100 次 但您只想允许该函数每 10 秒运
  • MySQLi 相对于 MySQL 的优势 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 与 MySQL 相比 使用
  • C 中的指针和数组有什么不同吗?

    我正在编写一个小型 C 程序来进行一些数字运算 它需要在函数之间传递数组 这些函数应该接受并返回指针 对吧 例如 这个 我知道这可能不是最有效的事情 int reverse int l int len int reversed malloc
  • Bootstrap 3.0:响应列重置文档部分

    嘿 如果您在 Bootstrap 3 0 文档中查看 响应列重置 副标题 它会显示以下内容 有了四层网格 您必然会遇到问题 在某些断点处 您的列不能完全清除 因为一层比另一层高 要解决此问题 请结合使用 clearfix 和我们的响应式实用
  • ASP.NET MVC 路由和静态数据(即图像、脚本等)

    如果我在 ASP NET MVC1 或 2 Web 应用程序中请求静态资源 例如 图像 javascript 文件或 css 文件 NET 框架是否会尝试查看如果请求与路由列表匹配 并且最终找不到它的控制器 eg 资源 Content Im
  • 如何在 PHP 中将日期时间转换为 ISO 8601

    我如何转换我的时间2010 12 30 23 21 46ISO 8601 日期格式 面向对象 这是推荐的方式 datetime new DateTime 2010 12 30 23 21 46 echo datetime gt format
  • 使用 go-template 内的范围检测数组中的最后一项

    这个程序简单地输出 1 4 2 但我想打印 1 4 2 正如您所看到的 逗号打印在数组的每个项目之后 package main import os import text template func main params map stri
  • 在Android中编辑文本时获取光标位置?

    我正在使用自定义 EditText 视图 我已经重写了 OnKeyUp 事件并且能够捕获 Enter 键按下 现在我的要求是 当用户输入文本 嗨 你好吗 然后将光标保留在 are 一词后面并按 Enter 键 我需要获取光标位置 以便在按下
  • 在多线程环境中使用 HttpClient 的最佳实践

    一段时间以来 我一直在多线程环境中使用 HttpClient 对于每个线程 当它发起连接时 都会创建一个全新的 HttpClient 实例 最近我发现 使用这种方法会导致用户打开的端口过多 并且大部分连接处于TIME WAIT状态 http
  • 如何使用 Eclipse 逐行调试 Android 应用程序?

    我熟悉 VS Net IDE 它对调试有很多支持 但android开发对我来说是新鲜事 我正在使用 Eclipse IDE 我想知道如何像在 Net IDE 中一样逐行调试 Android 应用程序 目前我正在使用日志窗口 但我对此并不满意
  • 运行 cordova 平台添加 android 时生成错误

    我正在尝试根据以下链接创建一个 Android PhoneGap 项目 http docs phonegap com en edge guide platforms android index md html 但是 当我运行命令时 cord
  • 是否可以在 ASP.NET ListView 控件中进行自定义分组?

    你只能在ListView中定义一个GroupItemCount 但是如果你想根据数据源中项目的属性进行分组怎么办 有点像临时分组依据 数据源按此属性排序 我见过一些示例 其中 ItemTemplate 中的某些标记是有条件显示的 但如果可能
  • Rails 路由可在单个应用程序上处理多个域

    尽管这里和其他地方有几个类似的问题 但我一直无法找到解决此问题的可行解决方案 这个问题似乎在 Rails 3 中还没有得到解答 所以这里是 我有一个应用程序 当前允许用户创建自己的包含应用程序实例的子域 在 Rails 2 中 您最好使用
  • Rails 3:调用控制器内的函数

    如果我想在控制器内部调用函数 我应该把它们放在哪里 如果您希望它位于控制器本地 那么您所需要做的就是将其添加到您想要使用的控制器中 private def myfunction function code end 对于所有控制器 您可以将其
  • 用户态自动装箱?

    是否可以为您自己的类实现自动装箱 为了说明我的示例 我可能想写以下内容 Foo foo lolcat 这就是 Java 在幕后要做的事情 根据我自己的定义 在某个地方 以某种方式 Foo foo new Foo foo setLolcat
  • 如何动态渲染新的 Twitter 小部件?

    如果我在 Twitter 上注册一个小部件 我会得到以下代码 a class twitter timeline href https twitter com vinto60utd Tweets by vinto60utd a
  • Sequelize — 对 DATE 字段使用 UNIX 时间戳

    有没有办法强制 Sequelize 使用 UNIX 时间戳作为默认时间格式both对于createdAt updatedAt时间戳and对于自定义的 Sequelize DATE 字段类型 Thanks 附 我正在使用 MySQL Whil
  • Java:优先级队列

    我有一个java程序 它是这样的 公共类 PriorityQueue 示例 public static void main String args PriorityQueue