您的位置首页百科知识

java Map 根据Map的值(value)取键(key)

java Map 根据Map的值(value)取键(key)

的有关信息介绍如下:

java Map 根据Map的值(value)取键(key)

java根据Map的值(value)取键(key) 的实现方法有4种,分别为:

(1)使用for循环遍历

(2)使用Iterator迭代器

(3)使用KeySet迭代

(4)使用EnterySet迭代

下面为以上4种方法具体实现的代码:

1、使用for循环遍历

public static Object getKey(HashMap map, String v) {

String key = "";

for (Map.Entry m :map.entrySet()) {

if (m.getValue().equals(v)) {

key = m.getKey();

}}

return key;

}

2、使用Iterator迭代器

public static Object getKey(HashMap map, String v) {

Set set = map.entrySet();

Iterator iterator=set.iterator();

String key = "";

while (iterator.hasNext()) {

Map.Entry enter = (Entry)

iterator.next();

if (enter.getValue().equals(v)) {

key = enter.getKey();

}}

return key;

}

3、使用KeySet迭代

public static Object getKey(HashMap map, String v) {

Iterator it = map.keySet().iterator();

while (it.hasNext()) {

String key = it.next().toString();

if ((String) map.get(key).equals(v)) return key;

}

return null;

}

4、使用EnterySet迭代

public static Object getKey(HashMap map, String v) {

String key = "";

Iterator it = map.entrySet().iterator();

while (it.hasNext()) {

Map.Entry entry = (Entry) it.next();

Object obj = entry.getValue();

if (obj != null && obj.equals(value)) {

key = (String) entry.getKey();

}}

return key;

}

扩展资料:

java获取map的key和value的方法:

(1)通过map.keySet()方法,先获取map的key,然后根据key获取对应的value。

for(String key : map.keySet()){

String value = map.get(key);

System.out.println(key+" "+value);

}

Iterator iter = map.keySet().iterator();

while(iter.hasNext()){

String key=iter.next();

String value = map.get(key);

System.out.println(key+" "+value);

}

(2)通过map.entrySet()方法,循环map里面的每一对键值对,然后获取key和value。

for(Entry vo : map.entrySet()) {

vo.getKey();

vo.getValue();

System.out.println(vo.getKey()+" "+vo.getValue());

}

Iterator> iter = map.entrySet().iterator();

while(iter.hasNext()){

Entry entry = iter.next();

String key = entry.getKey();

String value = entry.getValue();

System.out.println(key+" "+value);

}

参考资料来源:JAVA官方文档-Map