java用map通过value能找到key吗

 我来答
str夜风
2017-08-09 · TA获得超过272个赞
知道小有建树答主
回答量:333
采纳率:68%
帮助的人:194万
展开全部

java中规定map集合中key值必须唯一,value值可以重复,所以通过value来找key可能会出现一个value对应多个key的情况,API中也没有通过value寻找key的方法,所以只能通过自己的方法来获得key值

Map<Integer,String> map=new HashMap<Integer,String>();
        map.put(1, "一");
        map.put(2, "二");
        map.put(3, "三");
        map.put(4, "二");
        String k="二";
        Set<Integer> set=map.keySet();
        for(Integer str:set){
            if(k.equals(map.get(str))){
                 System.out.println(str);
            }
        }
经理管理系
2022-01-11
知道答主
回答量:2
采纳率:0%
帮助的人:1万
展开全部
Java的API中并没有提供通过value获取key的方法,只能自己定义
// 通过value查找key并输出
it = dicMap.keySet().iterator();
System.out.println("请输入您要查找的单词");
String explain = input.next();
while(it.hasNext()) {
String a = it.next();
if(dicMap.get(a).equals(explain)) {
System.out.println(a);
}
}
value的值并不唯一,所以会找到多个对应的key,这时需要重新定义方法,当前这个方法就行不通了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式