地図インターフェイスの概要(HashMapの、のTreeMap)

地図コレクション概要:

キーは立派なオブジェクトにマッピングされています

一致を含まないキーマッピング

各キーは値までマッピングすることができます

地図インターフェイスと様々なインタフェースCollection

地図は複列、単一のコレクションです

ユニークな、collectiondeサブシステム設定されたマップはユニークです

有効なキーのセットのための地図データ構造の値は、値、データ構造のコレクションとは何の関係が効果的なのための要素のセットではありません

APIによって、我々は、Mapコレクションの要素の最も重要な特徴は、それがキーと値のペアを格納できることを知っています

の地図機能セット

地図マッピングが重複キーが含まれていない値のキー、各キーはせいぜい値にマッピングすることができます

注意:

地図データ構造は、キーの値とは何の関係のために有効の設定します

データ構造のコレクションは、効果的な要素のために設定されています

地図のコレクションは、概要を説明します:

1.機能を追加

Vプット(Kキー、V値);

A:機能を追加

B:キーが最初に格納されている場合は、ダイレクトメモリ素子は、nullを返します

C:ストアが初めてではない場合、それは値を前の値を交換し、前の値を返します。

2.削除機能

明確無効();重要な要素のすべてを削除します

V重要な要素に応じてキーを削除する(オブジェクトキー)を削除し、値を返します

3.機能を決定するために

bolleanのcontainsKey(オブジェクトキー):キーセットを分析すると、指定した時間が含まれています

bolleanのcontainsValue(Object値):コレクションが指定された値が含まれているかどうかを判断します

セットが空であるかどうかを決定するステップと、bollean isEmpoty()

4.取得機能

設定する<マップエントリ<K、V >>のentrySet();

VのGET(オブジェクトキー)キーに応じた値を取得します

セット内のすべてのキーのセットを取得するステップと、設定<E>キーセット()

コレクション<V>の値は、();すべての価値コレクションセットを取得します。

関数の長さ

int型のサイズ();の数のキーセットを返します

地図コレクショントラバーサル

一つの方法:

キーに基づいて値を探します

すべてのキーのコレクションを取得します。

トラバーサルキーセット、各キーを取得します

キーに基づいて値を探します

コードは、次のことを反映して:

設定の<string>設定= hm.keySet()。

{(セットキーストリング)のために

文字列値= hm.get(キー)。

System.out.println(キー+ "---" +値)。

}

第二の方法:

キーに基づいてオブジェクトのキーと値を探します

すべてのキーのオブジェクトのコレクションを取得します。

各オブジェクトのキーを取得するオブジェクトのトラバーサルキーセット

トラバーサルキーは、キーと値のオブジェクトを見つけるために

コードは、次のことを反映して:

設定する<地図、エントリ<文字列、文字列>>設定= hm.entrySet();

{:(セットのMap.Entry <文字列、文字列>私)のために

文字列キー= me.getKey()。

文字列値= me.getValue()。

System.out.println(キー+ "---" +値)。

}

HashMapのクラスの概要

キーは、ハッシュテーブル構造である、あなたはキーの一意性を保証することができます

HashMapのケース

HashMapの<文字列、文字列>

HashMapの<Intrger、文字列>

HashMapの<文字列、学生>

HashMapの<学生、文字列>

LinkedHashMapクラスの概要

予測可能な繰り返し順序を持つMapインタフェースやリンクのリストのハッシュテーブルの実装、

ハッシュテーブルによってキーの一意性を確保するために、

キー・テーブルから(同じ格納順序と撤回は)保証債券を命じました

TreeMapのクラスの概要

TreeMapのクラスの概要

キーは赤黒ツリー構造である、あなたはソート・キーと一意性を保証することができます

TreeMapのケース

TreeMapを<文字列、文字列>

TreeMapを<文字列、文字列>

のコレクションをネストされたループ

ネストされたHashMap

HashMapの(HashMapの<文字列、HashMapの<文字列、整数>>)

HashMapのネストされたArrayListの

HashMapの嵌套のHashMap

ネストネストされたHashMapのはHashMap HashMapの(3ネストされました)

運動ケース:

"Aababcabcdabcde" は、各文字の数は、文字列要求の結果を表示取得: "(5)、B(4)C(3)、D(2)E(1)"

アイデア:

1.文字列を定義します。

2.地図のコレクションを定義します。

3.文字の配列に文字列を配置

4.文字配列、取得する各文字を横断

戻り値を見に行くためにこの文字セットを取る5.地図

これは、nullである:値1として、キーとして文字を置きます

nullではない:値を++入れ、再度保存キーと値

6.文字列バッファを定義します

各スプライス要素のための鍵ペアを取得7トラバースツリーマップセット

8.文字列バッファの出力は、文字列に変換されます。

インタビューの質問:

そして、Hashtableの違い1.HashMap

HashMapの:スレッドセーフな、高効率、nullキーやnull値を許可します

ハッシュテーブル:スレッドセーフな、低効率は、nullキーやnull値を許可しません

2.List、セット、インターフェースの地図が継承されている地図インタフェース

リストは、セットはMapインタフェースから継承されていない、彼らは、Collectionインタフェースから継承されています

地図はトップレベルのインタフェースです

コレクションクラスの概要

操作のためのツールのセット(両方静的メソッド)

コレクションメンバメソッド

パブリック静的<T>のボイドソート(リスト<T>のリスト)排序

パブリック静的<T> int型binarySearch(一覧<?>リストTキー)二分查找

パブリック静的<T> T MAX(コレクション<?>高専)最大

パブリック静的ボイドリバース(一覧<?>リスト)反转

パブリック静的ボイドシャッフル(一覧<?>リスト)ランダム置換

インタビューの質問:

コレクションと差のコレクション?

コレクション:インタフェースがトップシングルコレクションで、サブインタフェースとセットリストがあります

コレクション:操作のためのツールのコレクションです、見つけるためのバイナリ法の収集と分別があります

Collections.sort()

あなたは、コンパレータベースの順序に自然順序付けおよびソートコンパレータの両方を持っている場合

要約:

地図(列のダブルセット)

値に関係なくのみ有効キーの集合のための1.Mapデータ構造、

2.キー要素の形式で格納され、一意のキーは、値を繰り返すことができます

HashMapの

基礎となるデータ構造は、ハッシュテーブル、スレッドセーフな、高効率であります

ハッシュテーブルには、二つの方法に依存します:ハッシュコードとequals()

実行の順序:

最初は()の値が同一であるハッシュコードを決定します

ある:その戻り値の等号を見続けます

それは本当です:Description要素を繰り返し、追加しないでください

それは偽です:それはコレクションに直接追加されます

ノー:直接コレクションに追加

決勝:自動的に生成されたハッシュコード()とequals()へ

LinkedHashMap

リンクリストやハッシュテーブルの基礎となるデータ構造

要素の順序付きリストを確認してください

ハッシュテーブルによってその唯一の要素を確実にするために

ハッシュ表

基礎となるデータ構造は、ハッシュテーブル、スレッドセーフな、低効率であります

ハッシュテーブル法は、2つのハッシュコードとequalsに依存しています()

TreeMapの

基礎となるデータ構造は赤黒木である(平衡二分木は、自己です)

要素の一意性を確保するには?

それが0であるかどうかを判断するために、戻り値によると、

それの順序要素を確保する方法

二つの方法

自然順序付けは(比較素子は、a)

クラスはComparableインタフェース要素が属する実装してみましょう

ソーティングコンパレータ(セットは比較含みます)

コンパレータを実装するクラスのオブジェクトの集合を受けてみよう

どちらの低使用するには?

需要を見て

キーと値のペアの形式であるかどうか

です:地図

キーの必要性は、ソートするかどうか

です:TreeMapの

否:HashMapを

私はHashMapを使用することを知りません

否:コレクション

コレクションをトラバースするために、その一般的な方法:

コレクション:

追加()

削除()

含まれています()

イテレータ()

サイズ()

:(トラバーサル、2)

以下のための機能強化

イテレータ

リスト:(取得)3忠トラバーサル:イテレータのための強化のための通常の

セット:トラバーサルの2種類:イテレータのための強化

地図:

プット()

削除()

contaibkey()、containvalue()

keySet()

取得する()

値()

entrySet()

サイズ()

トラバーサル:

キーに基づいて値を探します

キーはそれぞれ、オブジェクトのキーと値を見つけるために、

 

おすすめ

転載: blog.csdn.net/qq_40935960/article/details/94958937