package util;
import java.util.HashMap;
import java.util.IdentityHashMap;
/**
* 当クラスは「汎用の Map 実装ではありません」(API)
* キー判定を同一オブジェクトの場合(==が成立するとき)のみ
* equalsが成立するようになっている
* 下記の例で確認のこと.
* 使用するのは、かなり特殊な場合だが、必要な場合もあるだろう.
*/
public class IdentityHashMap00 {
public static void main(String[] args) {
//
// 同じ文字列でもオブジェクトが違えば == は成立しない
String s0 = new String("key");
String s1 = new String("key");
print(s0 == s1);
//
IdentityHashMap<String,String> map0 = new IdentityHashMap<String,String>();
map0.put(s0,"value");
// こちら値が取得できる
print(map0.get(s0));
// 今度は値は取得できない
print(map0.get(s1));
//
// HashMapではどちらのキーでも取得できる
HashMap<String,String> map1 = new HashMap<String,String>();
map1.put(s0, "value");
print(map1.get(s0));
print(map1.get(s1));
}
private static void print(boolean b) {
print(""+b);
}
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.