1. ホーム
  2. java

[解決済み] Listを実装した、挿入順を保持するSetはありますか?

2023-04-23 03:15:22

質問

の実装を探そうとしています。 java.util.Listjava.util.Set をJavaで同時に使うことができます。このクラスは一意な要素のみを許可するようにしたい(たとえば Set のように)一意な要素のみを許可し、それらの順序を保持するようにしたい。 List ). JDK 6に存在するのでしょうか?

あることが重要です。 List<T>#add(int, T) で、特定の位置に挿入することができるんだ。

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

TreeSet は要素の順番でソートされます。 LinkedHashSet は挿入順を保持します。これらのいずれかが、あなたが求めていたものであることを願っています。

で挿入できるようにしたいと指定しました。 任意の を含むクラスを作成する必要があります。 HashSet<T>ArrayList<T> を追加する場合、リストに追加する前にセットに含まれるかどうかをチェックします。

代わりに、Apache の commons-collections4 では ListOrderedSet SetUniqueList であり、これらは類似の動作をし、与えられた要件を満たすはずです。