gpt4 book ai didi

Java 自然排序

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:39:47 29 4
gpt4 key购买 nike

我正在尝试使用优先级队列,我假设元素是按“自然顺序”添加的。

当我打印元素时,它没有按排序顺序......我期望结果 - 1,2,3,4

package scratch;
import java.util.*;

public class test {
public static void main(String[] args) {
PriorityQueue<String> pq = new PriorityQueue<String>();
pq.add("2");
pq.add("4");
System.out.println(pq.peek()+" ");
pq.offer("1");
pq.add("3");
System.out.println(pq);
/*System.out.println(pq.poll() + " ");
System.out.println(pq);*/
}

}

输出:

2[1, 3, 2, 4]

最佳答案

PriorityQueue 的字符串表示不反射(reflect)其中元素顺序的任何内容,它仅基于队列的 iterator() 的迭代顺序(这就是在 AbstractCollection 中定义 toString() 的方式,PriorityQueue 也使用此实现)。来自链接文档:

The iterator does not return the elements in any particular order.

关于Java 自然排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18619060/

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