java 怎样通过hashmap的value得到key

java 怎样通过hashmap的value得到key

个人认为可以通过遍历 HashMap 来判断 value 从而得到Key下面是个测试,仅仅是个人方法,有错还望高手提出!import java.util.HashMap;import java.util.Map;public class Test{ //通过value拿到key public Object getKey(Map map,Object value) { for(Object key:map.keySet()) if(map.get(key).equals(value)) return key; return null; } public static void main(String[] args) { Map
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-04-04
用map的keySet
Map<String , String > mp = new HashMap<String, String >();
......
for(key : mp.keySet()){
if(mp.get(key).equals(value)){
System.out.println(key+":"+value);
......
}
}本回答被网友采纳
第2个回答  2013-07-29
hashmap是对应值得,value是值,key是它的标识
1、首先你要讲值对应的传入其中,
2、通过key获取值
例如:
Map<String, String> map = new HashMap<String, String>();
map.put("1", "11");
map.put("2", "22");

System.out.println("里面的值有:");
Collection<String> connection = map.values();
Iterator<String> iterator = connection.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next() + "..");
}

System.out.println("里面的键有:");
Set<String> key = map.keySet();
for (String string : key) {
System.out.println(string);
}

System.out.println("里面的键值对是:");
Set<Map.Entry<String, String>> set = map.entrySet();
Iterator<Map.Entry<String, String>> iterator2 = set.iterator();
while (iterator2.hasNext()) {
Map.Entry<String, String> entry = iterator2.next();
System.out.println("键是:" + entry.getKey() + "值是:" + entry.getValue());
}
第3个回答  2013-07-29
你这个问题有点意思,value怎么得到key,就算得到也可能有几个key,map只能保证key唯一,不能保证value唯一,所以通过value得到key这样需求应该可以用别的方式解决。
第4个回答  2013-07-29
package com.test;

import java.util.HashMap;
import java.util.Map;

public class Test {
public static void main(String[] args) {
Map<String , String > map = new HashMap<String, String>();
map.put("key", "value");
String val = map.get("key");
System.out.println(val);
}
}
以键值对的形式,进行赋值;
通过key来获取值;
通过value来获取值,和通过key获取值,都一样就是一种说法,公认为通过key来获取value值;

java Map 根据Map的值(value)取键(key)
1、使用for循环遍历 public static Object getKey(HashMap<Object,Object> map, String v) { String key = "";for (Map.Entry<String, Object> m :map.entrySet()) { if (m.getValue().equals(v)) { key = m.getKey();}} return key;} 2、使用Iterator迭代器 public static Object...

java用map通过value能找到key吗
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, "二");...

用比喻的方法讲解一下 java 中 hashmap 的底层原理?
Java中的HashMap可以看作是一个盒子,这个盒子里面存放着很多抽屉。每个抽屉都有一个标签,用来表示抽屉里的物品。当我们要把一些物品放入盒子中时,我们首先根据物品的特征确定一个标签,然后把物品放入对应的抽屉里。在HashMap中,标签被称为“键(key)”,物品被称为“值(value)”。当我们要将一...

java hashmap 得到指定key的value
java hashmap 得到指定key的value的方法:private static ArrayList valueGetKey(Map map,String value) { Set set = map.entrySet();\/\/新建一个不可重复的集合 ArrayList arr = new ArrayList<>();\/\/新建一个集合 Iterator it = set.iterator();\/\/遍历的类 while(it.hasNext()) ...

如何实现Java中hashmap的value值是对象的时候的排序
首先拿出你的所有Values:HashMap<Key,Value> hashMap=new HashMap<Key,Value>();Collection<Value> values=hashMap.values();然后说第一种方法:假设你的值对象都实现了Comparable接口:class Value implements Comparable<Value>{ ...public int compareTo(Value v){...} ...} 这很方便了,使用...

如何在java中取map中的键值?有哪两种方法?
Map map = new HashMap();\\x0d\\x0a map.put("1", "value1");\\x0d\\x0a map.put("2", "value2");\\x0d\\x0a map.put("3", "value3");\\x0d\\x0a \\x0d\\x0a \/\/第一种:普遍使用,二次取值\\x0d\\x0a System.out.println("通过Map.keySet遍历key和value:")...

Map遍历 key-value 的4种方法
方法一:通过keySet()获取key并逐个获取value代码示例:<code>...<\/code> 运行结果:方法二:直接遍历key获取value代码示例:<code>...<\/code> 运行结果:方法三:利用entrySet()通过增强for循环遍历代码示例:<code>...<\/code> 运行结果:方法四:同样使用entrySet()的迭代器遍历代码示例:<code>...<...

Java面试问题:HashMap的底层原理
JDK1.8中HashMap的put()和get()操作的过程put操作:①首先判断数组是否为空,如果数组为空则进行第一次扩容(resize)②根据key计算hash值并与上数组的长度-1(int index = key.hashCode()&(length-1))得到键值对在数组中的索引。③如果该位置为null,则直接插入④如果该位置不为null,则判断key是否一样(hashCode和...

Java中的HashMap的工作原理是什么?
一,存储方式: Java中的HashMap是以键值对(key-value)的形式存储元素的。二,调用原理: HashMap需要一个hash函数,它使用hashCode()和equals()方法来向集合\/从集合添加和检索元素。当调用put()方法的时候,HashMap会计算key的hash值,然后把键值对存储在集合中合适的索引上。如果key已经存在了,...

java怎么获取map的key
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();entry.getKey() \/\/返回对应的键 entry.getValue() \/\/返回对应的值 } 以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,然后根据key,依次从Map中去数据,基本方式如下:Map<String,String> testData = new ...

相似回答