package util;

import java.util.HashMap;
import java.util.Hashtable;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.TreeMap;

/**
 * HashMap,HashTable,TreeMap,LinkedHashMapのキーの順番を確認する
 * キーをkeySet().iterator()で取得し、順番に表示する
 * 結果.
 * HashMap       : バラバラ
 * Hashtable     : 降順
 * TreeMap       : 昇順
 * LinkedHashMap : 挿入順
 *
 * Hashtableは非推奨
 * 私個人は、どれでもよい場合はTreeMapを使用している..
 */
class HashMap04 {
  public static void main(String[] args) {
    HashMap<String,String> hm = new HashMap<String,String>();
    Hashtable<String,String> ht = new Hashtable<String,String>();
    TreeMap<String,String> tm = new TreeMap<String,String>();
    LinkedHashMap<String,String> lhm = new LinkedHashMap<String,String>();
    setMap(hm);
    setMap(ht);
    setMap(tm);
    setMap(lhm);
    printKey("HashMap",hm);
    printKey("Hashtable",ht);
    printKey("TreeMap",tm);
    printKey("LinkedHashMap",lhm);
  }
  private static void setMap(Map<String,String> map) {
    map.put("6", "g");
    map.put("0", "a");
    map.put("8", "i");
    map.put("3", "d");
    map.put("9", "j");
    map.put("5", "f");
    map.put("1", "b");
    map.put("7", "h");
    map.put("2", "c");
    map.put("4", "e");
  }
  private static void printKey(String name,Map<String,String> map) {
    print("-- "+name+" --");
    Iterator<String> itr = map.keySet().iterator();
    while (itr.hasNext()) {
      print(itr.next());
    }
  }
  private static void print(String s) {
    System.out.println(s);
  }
}



==
・目次 Java Stringとjava.util
  http://blogs.yahoo.co.jp/artery2020/39979089.html
・目次 - Java言語プログラミング入門
  http://blogs.yahoo.co.jp/artery2020/39975776.html
・目次 - ビジネスパーソンの常識と非常識
  http://blogs.yahoo.co.jp/artery2020/39728331.html
・目次 - 論理・発想・思考についての考察と鍛え方
  http://blogs.yahoo.co.jp/artery2020/39657784.html

== ended.