複数キーのハッシュマップ
複数のキーから一意の値を取り出すようなハッシュマップ(java.util.HashMap
(あとから管理する者も簡単な仕組みのほうが管理が楽だろう。)
final String[] keys = ~~; // 特別にキー用のクラスやオブジェクトを作成するより, // これぐらいで済ませてしまったほうがいい. map.put(join(keys, '\uffff'), value); // '\uffff'はデリミタ. ありふれたものでなければなんでもよい
まあ、これはPerlの方式と同じわけだけれども。Perlでは複数キーのハッシュを、グローバル変数$;
に定義されている区切り文字を挟んで表現する。
$hoge{'key1', 'key2'} = "value"; print $hoge{'key1', 'key2'}; // -> value print $hoge{"key1${;}key2"}; // -> value __END__ ちなみにord($;) == 28.