A、地図
マッピング関係を有するデータを格納するための1.Map、したがってコレクションマップの値の二組、地図キー、値を保持するためのマップの別のグループ内のストレージのための1つを保持しています。
2.Mapのキーと値は、基準データの任意のタイプとすることができます。
キー3.Mapは、キー・マップのいずれか2つに、すなわち、繰り返しに許可される偽のメソッドが返すと等しいと比較することによってオブジェクト。
ある4.KeyとVaiueとの1対1の関係ウェイ1は、常にユニークな発見があり、値が指定されたキーで決定しました。
二、地図インタフェースとのHashMapクラス
パッケージday16。 輸入java.util.HashMapを; 輸入java.util.Map; 輸入java.util.Map.Entry; 輸入java.util.Set; パブリック クラスTEST6 { 公共 静的 ボイドメイン(文字列[]引数){ 地図 <文字列、整数>マップ= 新しい HashMapの<文字列、整数> (); map.put( "B"、1); // 添加数据 map.put( "C"、2 ); map.put( "E"、2 )。 System.out.println(マップ) System.out.println(map.get( "B")); //キー値 map.remove( "C"); // キーと値のペアが削除されている のSystem.out.println(マップ); ; System.out.printlnは(map.size())// マップセット長さ のSystem.out.println(map.containsKey( "B")); //は、現在のマップセットがキーを指定含まれているかどうかを判断する; のSystem.out.println(map.containsValue( 1)); //は、現在のマップを決定します指定されたコレクションは、値が含ま // ;()map.clear // クリアセット セットを)<文字列> = map.keySetキー(; //は、キーマップセットのコレクションを取得 map.valuesを(); // 取得マップセットを値セット // map.keySet(によって反復マップセット)。 用{(キー文字列キー) のSystem.out.println( "キー" +キー+ "値" + map.get(キー))。 } // 通过map.entrySet();遍历マップ集合 セットの<entry <文字列、整数>> entrys = map.entrySet()。 用(エントリ<文字列、整数> {:entrys EN) のSystem.out.println( "キー" + en.getKey()+ "値は" + en.getValue())。 } } }
結果を印刷します:
三、HashMapの&Hashtableの
1.HashMapとハッシュテーブルはことを除いて、2つの典型的なマップインタフェースの実装クラスです。
①Hashtableは推奨されない古いMap実装クラスです。
②HashtableはスレッドセーフなMap実装ですが、HashMapのは、スレッドセーフです。
③Hashtableは、キーと値、および缶のHashMapとしてnullを許可しません。
2. HashSetのセットと要素、HashMapのハッシュテーブルの同一の配置順序とが順番にキーと値のペアを保証できないことを保証することができません。
3.HashMapは、ハッシュテーブル決意は、二つの鍵となる基準に等しい2つのキーは、ハッシュコード値が等しい、方法がtrueを返すと等しいです。
四、TreeMapの
とき1.TreeMapを格納するためのキー値がソートに応じてキーのキーと値を必要としていました。TreeMapのは、秩序ある状態でキー値のすべてを保証することができます。
のキー2.TreeMapソート:
①自然順序付け:すべてのキーのTreeMapはComparableインタフェースを実装する必要があり、キーのすべては、同じクラスのオブジェクトである必要があり、それ以外の場合は、ClassCastExceptionがスローされます。
②カスタム(知っている)並べ替え:あなたはTreeMapのを作成すると、すべてのキーのTreeMapがソートされているために責任がある同等のオブジェクトを渡します。このとき、キーの地図はComparableインタフェースを実装する必要はありません。
3.一般的な使用マップコレクションは、過度に複雑なオブジェクトをキーには使用しないでください。
パッケージday16。 輸入java.util.Map; 輸入java.util.TreeMapの; パブリック クラスTEST6 { 公共 静的 ボイドメイン(文字列[]引数){ // のTreeMap的自然排序是字典排序 地図<整数、文字列>マップ= 新規のTreeMap <整数、文字列> (); map.put( 4、 "" ); map.put( 2、 "" ); map.put( 3、 "" ); map.put( 1、 "" ); System.out.println(マップ) 地図 <文字列、文字列> MAP1 = 新しいですTreeMapの<文字列、文字列> (); map1.put( "B"、 "B" )。 map1.put( "C"、 "C" )。 map1.put( "D"、 "D" )。 map1.put( ""、 "" ); map1.put( "AB"、 "AB" ); map1.put( "1"、 "AB" )。 map1.put( "10"、 "AB" )。 System.out.println(MAP1)。 } }
結果を印刷します: