DualHashBidiMap遍历

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

 开发中,你有没有遇到过需要通过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”)); 
}

你可能感兴趣的:(JAVA)