package exercise0;

import java.util.Map;
import java.util.Set;
import java.util.TreeMap;

import jp.avaj.lib.debug.L;

/**
 * Mapの値とキーが逆転したMapを作成する Java
   元のmapはそのままで新しいmapを作成
   テストデータは以下を使用する
     "aaa"  -> "111"
     "bbb"  -> "222"
     "ccc"  -> "333"
     "ddd"  -> "444"
     "eee"  -> "555"
 */
class E2050 {
  public static void main(String[] args) {
    Map<String,String> map = createMap();
    Map<String,String> revMap = reverseMap(map);
    //
    Set<String> keys = revMap.keySet();
    for (String key : keys) {
      L.p(key+":"+revMap.get(key));
    }
  }
  private static Map<String,String> createMap() {
    Map<String,String> map = new TreeMap<String,String>();
    map.put("aaa","111");
    map.put("bbb","222");
    map.put("ccc","333");
    map.put("ddd","444");
    map.put("eee","555");
    return map;
  }
  private static Map<String,String> reverseMap(Map<String,String> map) {
    Map<String,String> newMap = new TreeMap<String,String>();
    Set<String> keys = map.keySet();
    for (String key : keys) {
      String value = map.get(key);
      newMap.put(value,key);
    }
    return newMap;
  }
}
//---------------------------------------------------
//・目次 - 未経験者向け Java演習問題(制御構造とStringとjava.util)
//・目次 - Java入門
//・目次 - ビジネスパーソンの常識と非常識
//・目次 - 論理・発想・思考についての考察と鍛え方
//・目次 - 単なる雑談
//---------------------------------------------------