1. ホーム

[解決済み】Java Set retain order?

2022-04-11 21:52:31

質問

Java の Set は順序を保持しますか? あるメソッドが私にSetを返しており、本来データは順序付けされているはずですが、Setを反復するとデータは順序付けされなくなります。 これを管理する良い方法はありますか?メソッドは、Set以外のものを返すように変更する必要がありますか?

どのように解決するのですか?

その Set インタフェースは、順序を保証するものではありません。

そのサブインターフェイスである SortedSet は、何らかの基準でソートされた集合を表します。Java 6では、以下の2つの標準コンテナが実装されています。 SortedSet . それらは TreeSet ConcurrentSkipListSet .

に加えて SortedSet インターフェイスがあり、さらに LinkedHashSet クラスがあります。これは、要素がセットに挿入された順序を記憶しており、その順序でその要素を返します。