package util;

import java.util.HashMap;
import java.util.Map;

class HashMap01 {
  public static void main(String[] args) {
    // 値には任意のクラスを使うことができる.
    Map<String,Addr> addrMap0 = new HashMap<String,Addr>();
    Addr addr0 = new Addr();
    addr0.pref = "神奈川";
    addr0.city = "横浜";
    addrMap0.put("田中",addr0);
    Addr addr1 = addrMap0.get("田中");
    print(addr1.toString());
    //
    // 以下に示すように、キーにも任意のクラスを使うことができる
    // ⇒しかし普通は使わない、StringとかIntegerなどをキーにする
    Map<Name,Addr> addrMap1 = new HashMap<Name,Addr>();
    Name name = new Name();
    name.familyName = "田中";
    addrMap1.put(name, addr0);
    print(addrMap1.get(name).toString());
    name.familyName = "斉藤"; // 結婚した.
    print(addrMap1.get(name).toString());
  }
  private static void print(String s) {
    System.out.println(s);
  }
  static class Addr {
    public String pref;
    public String city;
    public String toString() {
      return pref+":"+city;
    }
  }
  static class Name {
    public String familyName;
  }
}

==
・目次 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.