* 开发中,你有没有遇到过需要通过map中的value值获取相应的key的值呢?如果你的map中的key-value是1:1映射的,那好了,可以考虑使用org.apache.commons.collections.BidiMap.
下面演示它的几个小功能:
@Test
public void fun4() {
BidiMap map = new DualHashBidiMap();
map.put(“1”, “a”);
map.put(“2”, “b”);
map.put(3, “c”);
map.put(3, “cc”);//会覆盖上一行的值,因为这是1:1映射
map.put(3.14, Math.PI);
/*
* 再也不需要通过Map的Entry对象遍历了!!! 效率上去了.
*/
MapIterator it = map.mapIterator();
while (it.hasNext()) {
Object key = it.next();
Object value = it.getValue();
System.out.println(key + “->” + value);
}
//反向功能,通过value->key
System.out.println(map.getKey(“a”));
}
双向map,通过value找到key
最新推荐文章于 2022-11-10 16:34:43 发布
开发中,若map的key - value是1:1映射,可使用org.apache.commons.collections.BidiMap。文中演示了其功能,如添加键值对、覆盖值、遍历键值对,还展示了通过value反向获取key的操作,能提高获取key的效率。
4350

被折叠的 条评论
为什么被折叠?



