順序付けされた LinkedHashMap があり、マップの最初の場所または最後の場所など、特定の index に要素を追加したいと考えています。LinkedHashMap の特定の位置に要素を追加するにはどうすればよいですか?
LinkedHashMap の FIRST または LAST 位置に要素を追加できたとしても、役に立ちます!
順序付けされた LinkedHashMap があり、マップの最初の場所または最後の場所など、特定の index に要素を追加したいと考えています。LinkedHashMap の特定の位置に要素を追加するにはどうすればよいですか?
LinkedHashMap の FIRST または LAST 位置に要素を追加できたとしても、役に立ちます!
順序を変更することはできません。それはinsert-order
(デフォルトで)またはaccess-order
このコンストラクターで:
public LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder)
指定された初期容量、負荷係数、および順序付けモードで、空の LinkedHashMap インスタンスを構築します。
パラメータ: initialCapacity - 初期容量 loadFactor - 負荷係数 accessOrder - 順序付けモード - アクセス順の場合は true、挿入順の場合は false
例外: IllegalArgumentException - 初期容量が負の場合、または負荷係数が正でない場合
LinkedHashMap
2 つのアレイに分割するだけです。サイズの最初の配列を作成index - 1
し、最後に new を配置しEntry
ます。次に、最初の配列に2番目の配列のエントリを入力します
ですMap
。インデックスはありません。バケツが付いています。それが機能する方法は、あなたがするときです
put(key, val)
キーをハッシュして、val を入れるバケットを見つけます。
はLinkedHashMap
二重にリンクされたリストを維持するため、エントリが挿入される (または、マップをインスタンス化する方法に応じてアクセスされる) 順序を記録できます。Map 上の API には、リンク リストの特定のインデックスに key,val のペアを挿入するメソッドはありません。これは目的ではないためです。