黑马程序员技术交流社区

标题: HashMap [打印本页]

作者: zhwfa1991    时间: 2015-8-18 17:17
标题: HashMap
弱弱的问一下,如何通过HashMap的value值,得到key键值呢?
作者: RedProtector    时间: 2015-8-18 17:22
本帖最后由 RedProtector 于 2015-8-18 17:37 编辑

hashmap中key值是唯一的,但value是不唯一的;同一个value可能返回多个key
下面是个例子:找出value是“value”的key
  1. import java.util.HashMap;
  2. import java.util.Iterator;
  3. import java.util.Map;
  4. import java.util.Set;
  5. public class HashMapKey {
  6.     public static void main(String[]args){
  7.         String value = "map";
  8.         Map<String,String> map = new HashMap<String,String>();//HashMap
  9.         map.put("0", "what"); //增加值
  10.         map.put("1", value);
  11.         map.put("2", "asdf");
  12.          map.put("3", value);
  13.          Set<String> mapSet =  map.keySet();//获取所有的key值 为set的集合
  14.         Iterator<String> itor =  mapSet.iterator();//获取key的Iterator遍历
  15.         while(itor.hasNext()){//存在下一个值
  16.                         String key = itor.next();//当前key值
  17.                         if(map.get(key).equals(value)){//获取value 与 所知道的value比较
  18.                                 System.out.println("你要找的key :"+key);//相等输出key
  19.                         }
  20.         }
  21.         }
  22. }
复制代码




作者: zhwfa1991    时间: 2015-8-18 17:36
RedProtector 发表于 2015-8-18 17:22
hashmap中key值是唯一的,但value是不唯一的;同一个value可能返回多个key

关键是怎么通过value值返回可以值?

作者: RedProtector    时间: 2015-8-18 17:38
zhwfa1991 发表于 2015-8-18 17:36
关键是怎么通过value值返回可以值?

看上一个回复,我重新编辑了一下
作者: zhwfa1991    时间: 2015-8-18 17:50
RedProtector 发表于 2015-8-18 17:38
看上一个回复,我重新编辑了一下

谢谢大神




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2