Java では、LinkedHashMap は Map インターフェイスからのリンクリストの実装です。これは HashMap に似ていますが、挿入される要素の順序を維持する追加機能が含まれています。 HashMap は迅速な挿入、削除、検索を提供しますが、要素の挿入順序は維持されません。
無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
それに加えて、他のいくつかの機能も LinkedHashMap に含まれています。
構文:
LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>();
ここで、obj は作成された LinkedHashMap のオブジェクトです。
LinkedHashMap オブジェクトが作成されると、以下に示すように、マップに要素を追加するために使用されます。
obj.put(11, "Victor"); obj.put(33, "Shyla"); obj.put(14, "Nancy"); obj.put(100, "Kuffi"); obj.put(23, "Princy"); obj.put(37, "Chamm");
LinkedHashMap のコンストラクターを以下に示します。
1. LinkedHashMap(): 空の LinkedHashMap インスタンスが、挿入に基づく順序付け、負荷係数 0.75、デフォルトの初期容量 16 で作成されます。
2. LinkedHashMap(int initialCapacity): 空の LinkedHashMap インスタンスが、挿入、負荷係数 0.75、指定された初期容量に基づく順序で作成されます。
3. LinkedHashMap(intInitialCapacity, floatloadFactor): 空の LinkedHashMap インスタンスが、挿入、指定された負荷係数、および初期容量に基づいた順序で作成されます。
4. LinkedHashMap(int initialCapacity, float loadFactor, boolean accessOrder): 指定された負荷率、アクセス順序、初期容量を使用して空の LinkedHashMap インスタンスが作成されます。
5. LinkedHashMap(Map extends K,? extends V> m): LinkedHashMap インスタンスは、挿入に基づく順序付けと、前述のマップに基づくマッピングで作成されます。
LinkedHashMap で一般的に使用されるメソッドは次のとおりです。
1. clear(): マップからすべてのマッピングが削除されます。
2. boolean containsKey(Object key): マップに指定された値の 1 つまたは複数のキーへのマッピングが含まれている場合、true が返されます。
3. boolean containsValue(Object key): マップに少なくとも 1 つのキーへのマッピングが含まれている場合、true が返されます。
4. Object get(Object key): 指定されたキーのマッピングの値が返されます。
5. isEmpty(): キーと値のペアのマッピングがない場合は、true が返されます。
6. size(): マップ内で使用可能なキーと値のペアの数が返されます。
7.オブジェクトの削除(オブジェクト キー): 指定されたキーのマッピングの値が削除されます。
8. boolean RemoveEldestEntry(Map.Entry最長老): 最古のエントリを削除できる場合は、trueが返されます。
以下は Java LinkedHashMap の例です:
単純な LinkedHashMap を作成する Java プログラム。
コード:
import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; //class begins here public class LinkedHashMapExample { //main method public static void main(String args[]) { // create a LinkedHashMap LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>(); //Adding key-value pair 1 obj.put(11, "Anna"); //Adding key-value pair 2 obj.put(33, "Adam"); //Adding key-value pair 3 obj.put(14, "Iza"); //Adding key-value pair 4 obj.put(23, "Norah"); //Adding key-value pair 5 obj.put(100, "Denan"); // create an entry set Set s = obj.entrySet(); // Display the elements Iterator itr = s.iterator(); //iterate each element while(itr.hasNext()) { //create an object for map.entry Map.Entry mp = (Map.Entry)itr.next(); //print each element System.out.print("Key in the LinkedHashMap is : "+ mp.getKey() + " and it's corresponding value is: "+mp.getValue()+" \n"); } } }
出力:
このプログラムでは、最初に LinkedHashMap が作成されます。その後、キーと値のペアを使用して要素が追加されます。完了すると、エントリ セットが作成されます。さらに、LinkedHashMap 内のすべての要素を出力するために、イテレーターが作成されます。各要素を反復することにより、サンプル出力に示すように印刷および表示されます。
マップからキーと値のペアを削除する Java プログラム。
コード:
import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; //class begins here public class LinkedHashMapExample { //main method public static void main(String args[]) { // create a LinkedHashMap LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>(); //Adding key-value pair 1 obj.put(11, "Victor"); //Adding key-value pair 2 obj.put(33, "Shyla"); //Adding key-value pair 3 obj.put(14, "Nancy"); //Adding key-value pair 4 obj.put(100, "Kuffi"); //Adding key-value pair 5 obj.put(23, "Princy"); //Adding key-value pair 6 obj.put(37, "Chamm"); System.out.print("Before removal, LinkedHashMap is: "+obj+"\n"); //remove the elements with keys 100 and 37 obj.remove(100); obj.remove(37); System.out.print("After removal, LinkedHashMap is: "+obj); } }
出力:
このプログラムでも、まず LinkedHashMap が作成されます。その後、キーと値のペアを使用して要素が追加されます。完了すると、LinkedHashMap が印刷されます。次に、remove() メソッドを使用して、2 つのキーと値のペアがマップから削除されます。その後、もう一度マップが印刷され、サンプル出力に示すように表示されます。
アクセス順序に基づいてマップ内のキーと値のペアを出力する Java プログラム。
コード:
import java.util.Iterator; import java.util.LinkedHashMap; import java.util.Map; import java.util.Set; //class begins here public class LinkedHashMapExample { //main method public static void main(String args[]) { // create a LinkedHashMap with third paramter set access order LinkedHashMap<Integer, String> obj = new LinkedHashMap<Integer, String>(2, .75f, true); //Adding key-value pair 1 obj.put(11, "Victor"); //Adding key-value pair 2 obj.put(33, "Shyla"); //Adding key-value pair 3 obj.put(14, "Nancy"); //Adding key-value pair 4 obj.put(100, "Kuffi"); //Adding key-value pair 5 obj.put(23, "Princy"); //Adding key-value pair 6 obj.put(37, "Chamm"); //Access the pair 33 obj.get(33); //Access the pair 11 obj.get(11); System.out.print("LinkedHashMap with access order is: "+obj); } }
出力:
ここで、このプログラムでも、まずLinkedHashMapが作成されます。その後、キーと値のペアを使用して要素が追加されます。完了すると、キー 33 と 11 を持つ要素にアクセスします。次に、サンプル出力に示すようにマップが印刷および表示されます。アクセスされる要素がマップの最後にあることがわかります。
この記事では、構文、コンストラクター、メソッド、例など、Java LinkedHashMap のほぼすべての詳細について詳しく説明します。さらに、LinkedHashMap と HashMap の主な違いも特定します。
以上がJava LinkedHashMapの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。