gpt4 book ai didi

java - Java中的priorityQueue顺序?

转载 作者:搜寻专家 更新时间:2023-10-31 20:28:58 26 4
gpt4 key购买 nike

<分区>

我无法理解 Java 中 PriorityQueue 的顺序。据我了解,它们是基于堆的,它们无法提供准确的迭代顺序作为插入顺序。我想知道 priorityQueue 然后根据什么对自己进行排序。给定代码:

PriorityQueue<String> pq = new PriorityQueue<String>();
pq.offer("hepqo");
pq.offer("bro");
pq.offer("wassup");
pq.offer("okay");
pq.offer("bingo");
pq.offer("first");
pq.offer("last");
pq.offer("ssup");
System.out.println("polled "+pq.poll());
System.out.println(pq);
String str[] = pq.toArray(new String[0]);
Arrays.sort(str);
for(String str1:str){
System.out.println(str1);
}

产生输出:

polledbingo
[bro, hepqo, first, okay, ssup, wassup, last]
bro
first
hepqo
last
okay
ssup
wassup

即使我将它转换为数组,顺序也会丢失。
我什至觉得这不是字符串的自然排序。
有什么办法可以保持优先队列的插入顺序?
他们是根据什么进行排序的?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com