我在Java中有一个简单的整数到字符串映射,但是我需要能够轻松地从整数中检索字符串,以及从字符串中检索整数。我尝试过Map,但是它只能从整数中检索字符串,这是一种方法:
private static final Map<Integer, String> myMap = new HashMap<Integer, String>(); // This works one way: String myString = myMap.get(myInteger); // I would need something like: Integer myInteger = myMap.getKey(myString);
有正确的方法来做到双向吗?
另一个问题是,我只有几个不变的常量值(1->"low", 2->"mid", 3->"high",所以采用复杂的解决方案就不值得了。
1->"low", 2->"mid", 3->"high"
您可以为此使用Google Collections API, 最近将其 重命名为Guava,特别是BiMap
双向映射(或“双向映射”)是一种保留其值以及其键的唯一性的映射。此约束使bimap可以支持“反向视图”,这是另一个bimap,它包含与此bimap相同的条目,但具有相反的键和值。