コレクションの地図と並んで存在します。マッピング関係を有するデータを格納するために:キー値
- キーと値のマップは、参照データの任意の型を指定できます
- 保存に設定してキーの地図は、それは地図「キー」と同じ、共通Stringクラスで、リピートすることは許されません
- キーと値の間の片道一から一の関係があり、つまり、常に指定されたキーによって決まる固有の値を見つけます
1.HashMap
HashMapのはスレッドセーフではありません
パッケージcom.gather。 輸入java.util.HashMapを; インポートするjava.util.Iterator; 輸入java.util.Map; 輸入java.util.Map.Entry。 パブリック クラスHashMapPractise { 公共 静的 ボイドメイン(文字列[]引数){ 地図 <文字列、人>マップ= 新しい HashMapの<> (); 人物P1 = 新しい人( "张三"、22 ); 人物P2 = 新しい人( "李四"、23 ); 人物P3 = 新しい人( "王五"、22); map.put( "AA" 、P1); map.put( "BB" 、P2); map.put( "CC" 、P3); // 最初のトラバーサルは:キーに同時に取り出すことができる ため(文字列STR:map.keySet()){ するSystem.out.println( "結合である:" + STR + "値" + map.getとして(STR)); } のSystem.out.println(「----- ------------------------- " ); // 移動する2番目の方法:ちょうどキーまたは値のみをとる ために(文字列str:地図。 keySet()){ するSystem.out.println( "結合である:" + STR); } のための(人人:map.values()){ のSystem.out。println( "値:" +人); } System.out.printlnは( "------------------------------" ); // 推奨:サード種トラバーサル:キーに同時に取り出すことができる ため(エントリ<文字列、人> {:EnumMap.entrySet()エントリ) のSystem.out.println(「結合である:」+ entry.getKey()+ " 、 の値: "+ entry.getValue()); } のSystem.out.println( " ------------------------------」)。 // 第トラバーサル:キーと値のペアを同時に取り出すことができる イテレータの<entry <文字列、人がエントリ>> = 。EnumMap.entrySet()イテレータ(); 一方(entries.hasNext()){ エントリの<string、人> =エントリ entries.next()。 System.out.println("結合である:" + entry.getKey()+ "値は" + entry.getValue()); } } }
2 .Hashtable
ハッシュテーブルは、スレッドセーフであります
パッケージcom.gather。 インポートのjava.util.Enumeration; インポートするjava.util.Hashtable; 輸入java.util.Map; 輸入java.util.Map.Entry。 パブリック クラスHashtablePractise { 公共 静的 ボイドメイン(文字列[]引数){ 地図 <文字列、人>マップ= 新しい Hashtableの<> (); 人物P1 = 新しい人( "张三"、22 ); 人物P2 = 新しい人( "李四"、23 ); map.put( "AA" 、P1)。 map.put("BB" 、P2)。 用(エントリ<文字列、人> {:map.entrySet()エントリ) のSystem.out.println( "键为:" + entry.getKey()+ "值为:" + entry.getValue())。 } のSystem.out.println( "------------------------------" )。 Hashtableの <文字列は、Person>ハッシュテーブル= 新しい Hashtableの<> (); hashtable.put( "AA" 、P1)。 hashtable.put( "BB" 、P2)。 // ハッシュテーブル的另外一种遍历方式:列挙 列挙の<string> enuKey = hashtable.keys()。 System.out.println(enuKey.nextElement())。 } 列挙 <人> enuValue = hashtable.elements()。 一方、(enuValue.hasMoreElements()){ System.out.printlnは(enuValue.nextElement())。 } } }