Java中的PriorityQueue和TreeSet之间的区别?
2022-09-01 15:46:19
我试图了解何时使用这两种数据结构。据我所知,它也作为一棵树实现,因为文档指出插入,删除和包含的平均时间是O(log(n))。还提供了相同的时间复杂性。另外,它们都是非同步的实现。我可以为它们编写比较器,使它们看起来像最小堆或最大堆。PriorityQueue
TreeSet
有人能指出我在什么条件下使用这两套吗?
我试图了解何时使用这两种数据结构。据我所知,它也作为一棵树实现,因为文档指出插入,删除和包含的平均时间是O(log(n))。还提供了相同的时间复杂性。另外,它们都是非同步的实现。我可以为它们编写比较器,使它们看起来像最小堆或最大堆。PriorityQueue
TreeSet
有人能指出我在什么条件下使用这两套吗?
当您需要队列时,请使用优先级队列。当您需要一个集合时,请使用树集。树集具有唯一的元素,并且不提供队列的 API。队列不提供集合的 API,并且允许多个相等的元素。