gpt4 book ai didi

java - 为什么会得到以下结果?

转载 作者:搜寻专家 更新时间:2023-11-01 01:06:21 24 4
gpt4 key购买 nike

<分区>

我做了下面的测试,看看如何

PriorityBlockingQueue<String> pq = new PriorityBlockingQueue<>(2);
pq.put("Sing");
pq.put("Sing2");
pq.put("Sing3");
pq.put("Sing4");
pq.put("Sing10");
pq.put("Sing11");
pq.put("Sing12");
pq.put("Sing13");
for (String s1: pq)
{
System.out.print(s1 +" ");
}

我得到的结果是:

 Sing Sing10 Sing11 Sing13 Sing2 Sing3 Sing12 Sing4

现在如何 API说如果在构建时没有指定比较器,它应该按自然顺序排列它们。然而,如您所见,结果根本没有排序。

其次,我设置的初始容量是2,如果没有设置bound,为什么会有这样的选项?重点是什么?我知道 api 指定它是一个无限优先级队列,但是如果构造函数不能设置它的任何界限,为什么要让构造函数完全占用初始容量?

所以基本上我有 2 个问题:

1)为什么上面贴出的结果顺序不符合元素的自然顺序?

2) 构造函数的目的是什么,其参数“初始容量”实际上并未设置边界。在LinkedBlockingQueue这是合理的,因为它设置了界限,但它不会发生在 PriorityBlockingQueue 中。

提前致谢。

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