java用map通过value能找到key吗
2个回答
展开全部
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);
}
}
展开全部
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,这时需要重新定义方法,当前这个方法就行不通了
// 通过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,这时需要重新定义方法,当前这个方法就行不通了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询