gpt4 book ai didi

java - 如何使用带有比较器的 Java ConcurrentNavigableMap 而不是 TreeMap?

转载 作者:行者123 更新时间:2023-12-02 08:07:46 28 4
gpt4 key购买 nike

我需要构建始终按其键排序的队列。TreeMap 非常适合它,如下例所示: http://www.javaexamples4u.com/2009/03/treemap-comparator.html但最大的问题是它不是线程安全的,然后我发现了 ConcurrentNavigableMap
太棒了,但是我如何像使用 TreeMap 一样使用比较器呢?我没有找到任何例子。

最佳答案

听起来您实际上正在寻找 PriorityQueue 。如果您需要它的线程安全版本,可以使用 PriorityBlockingQueue .

优先级队列是一个可以检索按“重要性”排序的项目的队列。对于 Java,您可以使用比较器或项目的自然顺序(如果它们实现 Comparable)。

如果您确实需要使用 ConcurrentNavigableMap,则需要使用它的实现,例如 ConcurrentSkipListMap 。只需分配一个 ConcurrentSkipListMap 实例并将其传递给您要使用的比较器即可。

new ConcurrentSkipListMap<MyKeyType, MyValueType>(new MyKeyComparator());

关于java - 如何使用带有比较器的 Java ConcurrentNavigableMap 而不是 TreeMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7891089/

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