双方向のBiMap
ImmutableBiMap の inverse メソッドを使用してキーと値を反転させて値からキーも取得できる。
import com.google.common.collect.ImmutableBiMap; import com.google.common.collect.BiMap; ..snip.. private static final BiMap<Integer,String> bimap = ImmutableBiMap.of(0, "black", 1, "white", 2, "red", 3, "blue"); .. final String color = bimap.get(id); // キーから値を取得 .. private void foo(String value) { // 値からキーを取得 assert bimap.containsValue(value) : value; int key = bimap.inverse().get(value); .. } ..snip..