您的位置:首页 > 产品设计 > UI/UE

双向map,通过value找到key,还有...

2016-03-09 15:00 671 查看
* 开发中,你有没有遇到过需要通过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”)); 

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: