如何能通过hashmap的value来返回其对应的键值key

  1. import java.util.ArrayList;  
  2. import java.util.HashMap;  
  3. import java.util.List;  
  4. import java.util.Map;  
  5. import java.util.Map.Entry;  
  6.   
  7. public class Value2Key {  
  8.   
  9.     //待反查的Map数据成员  
  10.     private Map<Object,Object> map=new HashMap<Object,Object>();  
  11.     //构造方法  
  12.     public Value2Key(Map<Object,Object> map){  
  13.         this.map=map;  
  14.     }  
  15.     //反查  
  16.     public List<Object> getKeys(Object value){  
  17.         ArrayList<Object> keys=new ArrayList<Object>();  
  18.         for(Entry<Object,Object> entry:this.map.entrySet()){  
  19.             if(value.equals(entry.getValue())){  
  20.                 keys.add(entry.getKey());  
  21.             }else{  
  22.                 continue;  
  23.             }  
  24.         }  
  25.         return keys;  
  26.     }  
  27.     //测试代码  
  28.     public static void main(String[] args) {  
  29.         HashMap<Object, Object> map = new HashMap<Object, Object>();     
  30.         map.put(1"a");     
  31.         map.put(2"d");     
  32.         map.put(3"a");     
  33.         map.put(4"b");     
  34.         map.put(5"a");  
  35.         //构造反查器实例  
  36.         Value2Key searcher=new Value2Key(map);  
  37.         for(Object obj:searcher.getKeys("a")){  
  38.             System.out.println(obj);  
  39.         }  
  40.     }  
  41. }  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值