4 回答
TA贡献1875条经验 获得超3个赞
Java中没有这样的类,但你可以用你的方法做你想做的事:
Map<Object, Object> map = new HashMap<>();
map.put(1, "foo");
map.put(21, "bar");
map.put(33, "hello");
map.put(55, "world");
map.put("foo", 1);
map.put("bar", 21);
map.put("hello", 33);
map.put("world", 55);
System.out.println(map.get(1)); // foo
System.out.println(map.get("foo")); // 1
看起来很奇怪,但可以按照你的意愿工作。
或者您可以根据需要创建自己的类,也可以使用我展示的一个地图,或者两个地图,如: Map<Integer, String> map1... Map<String, Integer> map2...
希望能帮助到你。
TA贡献1818条经验 获得超11个赞
您正在寻找的内容基本上由Guava实现BiMap
。
你可以像这样使用番石榴的BiMap -
BiMap<Integer, String> biMap = HashBiMap.create();
biMap.put(1, "foo");
biMap.put(21, "bar");
System.out.println(biMap.get("1"))); //foo
System.out.println(biMap.inverse().get("bar"))); //21
链接:
- 番石榴BiMap指南
- BiMap java doc
或者,你可以BiDiMap
像这样使用常见的apache :
BidiMap<String, String> map = new DualHashBidiMap<>();
map.put(1, "foo");
map.put(21, "bar");
System.out.println(map.get(1)); //1
//reversing the mapping
BidiMap<String, String> reversedMap = map.inverseBidiMap();
System.out.println(reversedMap.get("foo")); //1
添加回答
举报