序文
IPアドレスとホスト名、ID番号と個人、11に対応する。この関係を、と呼ばれる:人生は、私たちはしばしば、このようなコレクション参照マッピングを。Javaは、対応関係、すなわちjava.util.Mapインターフェースを格納するために使用される特殊なコレクションクラスオブジェクトを提供します。
コレクションマップインタフェースのインタフェースの設定セットの下で、データの異なる形式が格納され、インタフェース定義収集仕様の単一のセット、各時刻メモリ素子、および地図インタフェース仕様を複列に設定されている設定し、各記憶A要素。
要素のコレクション内のコレクションは、分離(に存在する単一の犬コレクション記憶素子に記憶素子を介して、)。
コレクション要素のマップがペアで存在である(トップ犬)、の各要素のキーと値の二つの部分の、対応する値は、キーを介して求めることができます。
コレクションシングルコレクションは、デュアル列セットと呼ばれる地図セットのセットを、と呼ばれています。注、地図のセットは重複キーを含めることができないこと、値を繰り返すことができ、かつ唯一の値に各キーに相当します。
人気のサブカテゴリの地図
主にHashMapのコレクション、のLinkedHashMapコレクションについてここでは、複数のサブカテゴリーの地図。
- ハッシュマップ:データ構造を記憶するが、ハッシュテーブルに使用され、要素のアクセス順序は、一貫性の保証はできません。保証一意ではなく、重複キーのために、のhashCode()メソッド、等しい()メソッドを書き換えることするキーを必要とします。
- LinkedHashMap:サブクラスとHashMapの下のLinkedHashMap、ハッシュテーブル構造+リスト構造を使用して格納されたデータ。連結リスト構造は、要素の一貫したアクセス順序を保証することができ、ハッシュ・テーブル構造は一意ではなく、重複キーであることを保証することができることにより、キー必要が書き換え対象のhashCode()メソッド、等号()メソッド。
ヒント:地図の収集インターフェース2つの一般的なデータ型の変数を与えるために、使用中に、一般的な2つの変数です。変数の二つの一般的なデータ型は同じでも異なっていてもよいです。
一般的に使用されるメソッドをインターフェースマップ:
:Mapインタフェースは、一般的に使用されるメソッドの数がある定義します
- 地図コレクションに指定したキーの(Kキー、V値)と付加価値を置きます。
- 削除(オブジェクトキー)地図から要素のセットを削除するキーに対応する指定されたキーは、要素の戻り値が削除されます。
- (オブジェクトキー)を取得し、指定されたキーを持つマップ内のシートのセットに対応する値を取得します。
- セット<K>のkeySet()地図セットコレクションに保存されているすべてのキーを設定して取得します。
- セット<のMap.Entry <K、V >>のentrySet()すべてのオブジェクトのキーと値のペアのコレクション地図コレクション(セットコレクション)を取得します。
ヒント:指定されたキー(キー)は、コレクション内にない場合と、使用して()メソッドを入れて、キーがない場合はnullを対応する値ではなく、キーの値を指定したコレクションに追加します。
指定されたキー(鍵)がセットに存在する場合、キーは設定された値(置換値前の値)に対応し、その値が返され、指定の新しい値に置き換えられ、指定されたキーに対応します。
値を見つけるために、コレクショントラバーサルキーの道の地図
キーの値、キーに対応する値を求めることにより、すなわち重要な要素を取得します。
- 地図キーはユニークであるため、キーは設定のすべてを格納するためのセットに戻りますので、すべてのキーを取得します。方法ヒント:キーセット()。
- トラバーサルキーは、各キーを取得するには、コレクションを設定します。
- キーに対応する値を得るための鍵。方法ヒント:GET(Kキー)
エントリーキーオブジェクト
知っている、マップは地図内の1つの関係である値(値)と呼ばれるキー(鍵)を、と呼ばれる、オブジェクトの2種類に保存されている我々はすでに、このオブジェクトは、地図を行うために呼び出されますのエントリー(エントリー)。キーとの関係を対応するエントリーパッケージが対象となります。そのキー、我々は、オブジェクトマップのコレクションを横断しながら、対応する各ペア(エントリ)オブジェクトからキー値に対応するキー値を取得することができます。
エントリのキーと値のペアを示しているので、それはまた、対応するキーと対応する取得価値方法を提供します。
- 公共KのgetKey():Entryオブジェクトのキーを取得します。
- 公共VのgetValue():バリューEntryオブジェクトを取得します。
地図コレクションでも、すべてのEntryオブジェクトの概要を説明します:
- 公共の設定<のMap.Entry <K、V >>のentrySetは():すべてのオブジェクトのキーと値のペアのコレクション地図コレクション(セットコレクション)を取得します。
キーと値のペアの地図コレクションは、道を横断し
途中でキー:すなわち、(エントリー)オブジェクト、キーと値のペア(エントリ)オブジェクトキーと各セットのためのキー値を取得します。
- コレクション内の地図、すべてのキーと値のペア(項目)オブジェクト、およびSet集計フォームへのリターンを得ます。方法ヒント:のentrySet()。
- オブジェクトのセット(エントリ)コレクション、各キーと値のペアを与える(エントリー)オブジェクトを含むトラバーサルキーと値のペア。
- (エントリ)オブジェクト、キー値によってキーと値エントリオブジェクトを取得します。方法ヒント:GETKEY()、のgetValue()。
ヒント:地図セットが直接使用することはできませんかforeeachイテレータトラバーサルが、その後の設定に変わりは使用可能な状態です。
LinkedHashMap
我々は唯一の要素対HashMapの保証ことを知って、そしてクエリが高速ですが、順番に保存された要素をペアリングされていない、我々は秩序を確保するために持っているだけでなく、それを行うにはどのくらいの速?
パブリック クラスLinkedHashMapDemo { 公共 静的 ボイドメイン(文字列[]引数){ のLinkedHashMap <文字列、文字列>マップ= 新規のLinkedHashMap <文字列、文字列> (); map.put( "邓超"、 "孙俪" ); map.put( "李晨"、 "范冰冰" ); map.put( "刘德华"、 "朱丽倩" ); セットの<entry <文字列、文字列>>のentrySet = map.entrySet()。 用(エントリ<文字列、文字列> {:のentrySetエントリ) のSystem.out.println(entry.getKey() + "" + entry.getValue())。 } } }
結果:
ダン超孫儷
リー・チェンファンビンビン
アンディ・ラウ、ミシェルヨー