A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何竹冬 中级黑马   /  2013-1-5 23:07  /  1278 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

Map集合可以通过key获得value的值,怎么通过value获取key的值呢,在Map集合方法中没有找到啊 ,难道要遍历map集合去找嘛?

3 个回复

倒序浏览
本帖最后由 arno942 于 2013-1-6 01:37 编辑

这个我也没发现通过Value来获得Key的,如果你想获得Key,再通过Key进行某些操作的话 ,你看下面代码对你有用吗。
  1. Map<String,String> map = new HashMap<String, String>();
  2.                 map.put("1", "一");
  3.                 map.put("2", "二");
  4.                 map.put("3", "三");
  5.                 map.put("4", "五");
  6.                 map.put("5", "五");
  7.                
  8.                 // 获取所有键值对(Entry)
  9.                 Set<Map.Entry<String, String>> entrys = map.entrySet();
  10.                 // 遍历Set
  11.                 for(Map.Entry<String, String> entry : entrys) {
  12.                 //获取键
  13.                 String key = entry.getKey();
  14.                 //获取值
  15.                 String value = entry.getValue();
  16.                 System.out.println(key + "=" + value);
  17.                 }
  18.         }
复制代码
回复 使用道具 举报
本帖最后由 马志军 于 2013-1-6 13:07 编辑

不应该有这个方法吧。Map中的key要唯一,但值没这要求,不同的键可以有相同的值,所以没法通过值获取键,因为反过来,从值到键就不是一个映射关系了
回复 使用道具 举报
马志军 发表于 2013-1-6 13:05
不应该有这个方法吧。Map中的key要唯一,但值没这要求,不同的键可以有相同的值,所以没法通过值获取键,因 ...

多谢,学习了。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马