GuavaライブラリでImmutableLinkedHashMap<>
のようなものを見つけたいです。挿入順序のある不変のKey-Valueデータ構造を使用する必要があります。だから、私は何を使うべきですか?
あなたが何を求めているのか正確にはわかりませんが、それが本当に不変のMap
である場合は、 ImmutableMap
を確認する必要があります。
ドキュメントに記載されているように:
信頼できるユーザー指定の反復順序を持つ不変のハッシュベースの
Map
。 nullキーまたは値を許可しません。まだ変更可能な別のマップのビューである
Collections.unmodifiableMap(Java.util.Map<? extends K, ? extends V>)
とは異なり、ImmutableMap
のインスタンスには独自のデータが含まれており、変更されることはありません。ImmutableMap
はpublic static final
マップ(「定数マップ」)に便利であり、発信者からクラスに提供されたマップの「防御コピー」を簡単に作成することもできます。
たとえば、同様の方法で使用できます。
Map<Integer, String> m = ImmutableMap.of(5,"Five",6,"Six",7,"Seven");
これがあなたが求めていたものであることを願っています。
最初にLinkedHashMap
を作成し、次に ImmutableMap.copyOf(linkedHashMap)
を使用して、元のマップと同じ順序を持つ不変のコピーを作成します。