Javaの学習:地図インタフェース

地図コレクション

コレクションインタフェース:  <E>仕様のコレクションの単一のセットを定義します

  • 要素ごとに単一の記憶素子

Mapインタフェースは:複列の仕様のセットを定義するマップ<K、V>

  • 一組の各記憶素子


java.util.Map <K、V>セット

機能セットの地図:

  1. マップが設定された複列のセットを、要素は、2つの値(キー、値)が含まれ
  2. コレクション、キーと値のデータ型のマップ要素は同じでも異なっていてもよいです
  3. コレクションの地図要素は、キーを繰り返すように許可されていない、値を繰り返すことができます
  4. コレクション、キーと値のマップ要素は、一から一
java.util.HashMapを<K、V>コレクションは、Map <K、V>インタフェースを実装します

機能のHashMapのセット:
特別速いクエリ:1.HashMapコレクションの下には、ハッシュ値であります

  • JDK.8前に:単独+リストアレイをリンク
  • JDK.8後:配列+単独でリンクされたリスト/ブラックツリー(8個以上の鎖長):クエリの速度を上げます

2.HashMapセットは、要素の順序付けられていない収集、保管及び順序が矛盾抽出要素であってもよいです

java.util.LinkedHashMap <K、V>セットはHashMapの<K、V>セットを拡張します

LinkedHashMap機能:

  1. 底部層は、設定されているのLinkedHashMap ハッシュテーブル+鎖(保証反復順序)
  2. LinkedHashMapコレクションである順序付けられたコレクション、抽出要素の要素の記憶および順序は、と一致しています


Mapインタフェースの一般的な方法

パブリックVプット(Kキー、Vの値): 地図指定されたコレクションにキーの指定した値を追加すること。

戻り値:V

  • キーと値のペアが格納されている場合、キーは繰返さない、戻り値はヌルであり、V
  • キーと値のペア、キーの重複を保存すると、新しい値が重複した値のマップに置き換えられます、戻り値は値に置き換えられます

パブリックV削除(オブジェクトキー):マップの要素のセットを削除するために指定されたキーに対応する値は、要素の戻り値が削除されます。
戻り値:V

  • キーの存在、Vの戻り値は削除されます
  • キーが存在しない、Vはnullを返します

Vは(キーオブジェクト)公共GET、指定されたキーを持つマップでセットに対応する値を取得します。
戻り値:

  • キーは、戻り値に対応する値が存在します
  • キーがnullを返し、存在しません。


ブールのcontainsKey(オブジェクトキー)は、  コレクションが指定したキーが含まれているかどうかを決定します

  • リターンはtrueを含み、それはfalseを返しますが含まれていません。

 

最初のトラバーサル地図コレクション:キー値による方法を見つけます

地図収集方法:

  • セット<K> keySet()このマップに含まれるキーのSetビューを返します。

実装手順:

  1. 地図コレクション使用のkeySet()、セットコレクションに格納され取り出されたすべてのマップキーのセットを、。
  2. コレクションをトラバース設定し、各キーのコレクションで地図を入手
  3. 地図の収集方法によって(キー)を取得し、パスのキー値を検索して


エントリーキーオブジェクト

Map.Entry <K、V> Mapインタフェースは、一つ有する内部入力インタフェース
効果:コレクションマップを作成するときに、それがコレクションにマップエントリオブジェクトを作成し、キー値(キーオブジェクトを、記録しますキーと値の間のマッピング)

 

第二のアプローチマップは、セットをトラバース:Entryオブジェクトトラバーサルを使用します

セット<のMap.Entry <K、V>のentrySet()は、  このマップに含まれるキーのセットビューを返し。
実装手順:

  1. 設定<のMap.Entry <K、V >>のentrySet()  コレクションセットのセットに貯蔵から取り出しマップエントリ内の複数のオブジェクト
  2. トラバーサルセットコレクション:すべてのは、オブジェクトセットのコレクションを入力します
  3. Entryオブジェクトのメソッドを取得しますのgetKey()は、キーを取得します、のgetValue()は値を取得します。

 

カスタムタイプのキーストレージのHashMap

キー: Person型

  • 人型は、一意のキーを確保するために、hashCodeメソッドとequalsメソッドをオーバーライドする必要があります

値:文字列型

  • 繰り返すことができます
java.util.linkedHashMap <K、V>はHashMapの<K、V>を延びています

 

ハッシュテーブルとリンクリストMapインタフェースのリスト、予測可能な繰り返し順序を持ちます。

基本原理:

  • +チェインハッシュ・テーブル(シーケンシャル記録素子)


Hashtableのコレクション

するjava.util.Hashtable <K、V>コレクションは、Map <K、V>インタフェースを実装します

 

  • ハッシュテーブル:底が、ハッシュテーブルでは、スレッドセーフのコレクションで、シングルスレッド、遅いのコレクションです
  • HashMapの:底がハッシュテーブルで、スレッドセーフなコレクションは、マルチスレッド化、高速の集まりです
  • HashMapのセット(すべての以前の研究のセット):null値を格納し、nullのキー
  • Hashtableのコレクション:null値を格納することができない、ヌルキー
  • JDK1.2のバージョンの後に交換し、より高度なコレクション(HashMapの、ArrayListの)であるとして、ハッシュテーブルやコレクションのベクトルコレクション
  • Hashtableのサブクラスのプロパティは、アリーナのカレンダーではまだアクティブになっています
  • プロパティとI / Oストリーム組み合わせたセットのユニークなセットです

おすすめ

転載: www.cnblogs.com/cainiao-chuanqi/p/11223241.html
おすすめ