2013-05-10 9 views
15

私は2つのデータ構造をいつ使用するのか理解しようとしています。私が理解している限り、PriorityQueueはツリーとして実装されています。ドキュメントには、挿入の削除および包含の平均時間はO(logn)であると記載されています。ツリーセットはまた、同じ時間の複雑さを提供する。両方とも非同期実装です。そして私はそれらが最小ヒープまたは最大ヒープのように動作するコンパレータを書くことができます。JavaのPriorityQueueとTreeSetの違いは?

私はこれらの2つのセットをどのような条件で使用するか指摘する人もいます。

ありがとう、

答えて

21

キューを使用するには、PriorityQueueを使用します。 Setが必要な場合は、TreeSetを使用します。 TreeSetは一意の要素を持ち、キューのAPIを提供しません。キューはSetのAPIを提供せず、複数の等しい要素を許可します。

+2

ツリーセットに同じ要素が2つありません – Sheldon

+0

シンプルでエレガント! – UCJava

関連する問題