HashMapとLinkedHashMapの違いは何ですか
目次:
NS 主な違い HashMapとLinkedHashMapの間は LinkedHashMapがデータ挿入の順序を維持している間、HashMapはデータ挿入の順序を維持しません。
マップは、一般的に使用されるデータ構造です。 Java Standard EditionでのMapの2つの実装は、HashMapとLikedHashMapです。 HashMapはハッシュテーブルとして実装されます。キーや値の順序はありません。一方、LinkedHashMapは、データ挿入の順序を維持します。
ハッシュマップ、ハッシュテーブル、LinkedHashMap、マップ
HashMapとは
HashMapは、ハッシュテーブルを使用してMapインターフェイスを実装するクラスです。これはAbstractMapを拡張し、AbstractMapはMapインターフェースを実装します。 HashMapには、キーと値のペアが含まれています。一意のキーで構成できます。 HashMapは同期されておらず、データの挿入順序を維持していません。 HashMapを使用したプログラムの例は次のとおりです。
図1:HashMapを使用したプログラム
上記のプログラムでは、「従業員」はHashMapのオブジェクトです。整数型のキーと文字列型の値を持つ複数のアイテムを格納できます。 putメソッドを使用すると、HashMapにアイテムを挿入できます。 Map.Entryのforループは、「従業員」のすべてのアイテムを反復処理するために使用されます。 getKeyメソッドはキーを表示し、getValuesメソッドはそれらのキーに対応する値を出力します。
HashMapは、挿入された順序に従って要素を出力しません。さらに、同じ詳細のレコードが2つありますが、印刷されるのはそのうちの1つだけです。これは、HashMapに一意のキーしか含まれていないためです。
LinkedHashMapとは
LinkedHashMapクラスは、Mapインターフェイスのハッシュテーブルおよびリンクリストの実装です。予測可能な反復順序があります。 HashMapクラスを継承し、Mapインターフェースを実装します。 LinkedHashMapにもキーと値のペアがあり、一意の要素のみが含まれています。ただし、同期されていません。
例は次のとおりです。
図2:LinkedHashMapを使用したプログラム
上記のプログラムでは、「従業員」はLinkedHashMapのオブジェクトです。整数型のキーと文字列型の値を持つ複数のアイテムを格納できます。 putメソッドを使用すると、LinkedHashMapにアイテムを挿入できます。 Map.Entryを使用したforループは、「従業員」のすべてのアイテムを反復処理するのに役立ちます。 getKeyメソッドはキーを表示し、getValuesメソッドはそれらのキーに対応する値を出力します。
LinkedHashMapは、挿入された順序に従って要素を出力します。さらに、同じ詳細のレコードが2つありますが、印刷されるのはそのうちの1つだけです。これは、LinkedHashMapに一意のキーのみが含まれているためです。
HashMapとLinkedHashMapの違い
意味
HashMapは、AbstractMapクラスを継承し、Mapインターフェイスを実装するコレクションの作成を支援するクラスです。LinkedHashMapは、予測可能な反復順序でHashtableとMapインターフェイスのリンクリストの両方を実装するクラスです。したがって、これがHashMapとLinkedHashMapの主な違いです。
挿入順序
さらに、HashMapとLinkedHashMapのもう1つの違いは、HashMapはデータ挿入の順序を維持しないのに対し、LinkedHashMapはデータ挿入の順序を維持することです。
コレクションインターフェイスとの関連付け
結論
HashMapとLinkedHashMapは、Mapインターフェースの2つの実装です。 HashMapとLinkedHashMapの主な違いは、HashMapはデータ挿入の順序を維持しないのに対し、LinkedHashMapはデータ挿入の順序を維持することです。
リファレンス:
1.「JavaのHashMap–Javatpoint」。 Www.javatpoint.com、ここから入手可能2。 「JavaのLinkedHashMap–Javatpoint」 Www.javatpoint.com、ここから入手できます。