Javaの中のMap集合は簡単にまとめて解析します。


Mapインターフェースの紹介
Mapインターフェースは二列集合であり、各要素はキーオブジェクトKeyと値オブジェクトValueを含み、キーと値オブジェクトの間にはマッピングと呼ばれる対応関係がある。Mapセットから要素にアクセスする場合、Keyを指定すると、対応するValueが見つかります。
Mapの中のキーは唯一でなければいけません。重複できません。同じキーを保存すれば、後に格納された値は元の値をカバーします。つまり、キーは同じで、値は上書きされます。
Mapの常用方法

put(K key, V value)     ,           ,     
  get(Object key)            
  Set<Map.Entry<K,V>> entrySet()            Set  
  Set<K> keySet()           Set  
  Collection<V> values()           Collection  
  remove(Object key)              
HashMap集合
ハーシュMapのセットは、Mapインターフェースの一つであり、キーのマッピング関係を記憶するために使用されますが、重複したキーが現れないことを保証しなければなりません。次に一つのケースを通して、HashMapの使い方を学びます。

public class Example01 {
  public static void main(String[] args) {
      Map map = new HashMap();
      map.put("1", "  ");
      map.put("2", "  ");
      map.put("3", "  ");
      System.out.println("1"+" : "+map.get("1"));    //      
      System.out.println("2"+" : "+map.get("2"));
      System.out.println("3"+" : "+map.get("3"));
  }
}
Mapでは、Mapに記憶されているすべての値のCollectionのセットを直接に取得することができるvalues()の方法も提供されている。次に一つの事例を通して、values()の方法の使用を実証します。

public class Example04 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "  ");
    map.put("2", "  ");
    map.put("3", "  ");
    Collection values = map.values();
    Iterator it = values.iterator();
    while(it.hasNext()) {
      Object value = it.next();
      System.out.println(value);
    }
  }
}
プログラム開発では、Mapのすべてのキーと値を取り出す必要がありますが、どのようにMapのすべてのキーと値を遍歴しますか?
最初の方法は、Mapセット内のすべてのキーを巡回してから、キーに従って同じ値を取得することである。

public class Example02 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "  ");
    map.put("2", "  ");
    map.put("3", "  ");
    Set keySet = map.keySet();      //      
    Iterator it = keySet.iterator();      //      
    while(it.hasNext()) {
      Object key = it.next();
      Object value = map.get(key);    //          
      System.out.println(key+" : "+value);
    }
  }
}
第二の方法は、まずセット内のマッピング関係をすべて取得し、その後、マッピング関係からキーと値を取り出すことである。

public class Example03 {
  public static void main(String[] args) {
    Map map = new HashMap();
    map.put("1", "  ");
    map.put("2", "  ");
    map.put("3", "  ");
    Set set = map.entrySet();
    Iterator it = set.iterator();        //       
    while(it.hasNext()) {
      Map.Entry entry = (Map.Entry) it.next();        //          
      Object key = entry.getKey();      //  Entry   
      Object value = entry.getValue();      //  Entry   
      System.out.println(key+" : "+value);
    }
  }
}
HashMapの集合は、要素の順序と格納順序を反復することとは一致しない。これらの2つの順序を一致させるためには、Javaで提供されるLinked HashMapクラスを使用してもいいです。これはHashMapのサブクラスです。LinkdListと同じように、内部要素の関係を維持するために双方向のチェーンを使用して、Map元素の反復の順序と預け入れの順序が一致します。
一例を通してLinkdhashMapの使い方を学びます。

public class Example05 {
  public static void main(String[] args) {
    Map map = new LinkedHashMap();      //  Map  
    map.put("1", "  ");      //     
    map.put("2", "  ");
    map.put("3", "  ");
    Set keySet = map.keySet();
    Iterator it = keySet.iterator();
    while(it.hasNext()) {
      Object key = it.next();
      Object value = map.get(key);      //          
      System.out.println(key+" : "+value);
    }
  }
}
Propties集合
Mapインターフェースにはもう一つの実装クラスがあります。HashMap 10と似ています。Hashtableはスレッドの安全性に違いがあります。Hashtableは元素にアクセスする時は速度が遅く、現在は基本的にHashMap類に取って代わられていますが、Hashtable類にはサブクラスのProptiesがあります。実際の応用においては非常に重要です。
Proptiesは文字列タイプのキーと値を格納するために使用される限り、実際の開発では、Proptiesのセットを使用してアプリケーションの設定項目にアクセスすることが多い。テキスト編集ツールがあると仮定して、デフォルトの背景は赤色で、フォントサイズは14 pxで、言語は中国語で、その位置は以下の通りです。

  Backgroup-color = red
  Font-size = 14px
  Language = chinese
プログラムではPropertiesの集合を使ってこれらの構成をアクセスできます。次に一つのケースを通してPropertiesの集合の使用を学びます。

public class Example06 {
  public static void main(String[] args) {
    Properties p = new Properties();    //  Properties  
    p.setProperty("Backgroup-color", "red");
    p.setProperty("Font-size ", "14px");
    p.setProperty("Language", "chinese");
    Enumeration names = p.propertyNames();
    while(names.hasMoreElements()) {    //        
      String key =(String) names.nextElement();
      String value = p.getProperty(key);    //        
      System.out.println(key+" = "+value);
    }
  }
}
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。