Javaコレクション-----地図詳細

      コレクションの地図と並んで存在します。マッピング関係を有するデータを格納するために:キー値

  •      キーと値のマップは、参照データの任意の型を指定できます
  •      保存に設定してキーの地図は、それは地図「キー」と同じ、共通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())。
        } 
    } 
}

おすすめ

転載: www.cnblogs.com/fengfuwanliu/p/10430915.html