Javaのソートされたコレクション 質問する

Javaのソートされたコレクション 質問する

私は Java 初心者です。Java でソートされたリストを維持するために使用できる/使用すべきコレクションを教えてください。Mapと を試しましたSetが、探していたものではありません。

ベストアンサー1

これはかなり遅い段階で登場しますが、ソートされたリストを持つことだけを目的としたクラスが JDK に存在します。このクラスの名前は (他のSorted*インターフェースとは少し順序が異なりますが) " java.util.PriorityQueue" です。このComparable<?>クラスは s または を使ってソートできますComparator

Listソート済みの場合との違いはCollections.sort(...)、ヒープ データ構造を使用することで、常に部分的な順序が維持され、挿入パフォーマンスは O(log(n)) になるのに対し、ソート済みの場合の挿入はArrayListO(n) (つまり、バイナリ検索と移動を使用) になることです。

ただし、とは異なりListPriorityQueueはインデックスアクセス(get(5))をサポートしていません。ヒープ内のアイテムにアクセスする唯一の方法は、一度に1つずつ取り出すことです。(そのため、名前は ですPriorityQueue)。

おすすめ記事