发布网友 发布时间:2024-03-04 05:42
共5个回答
热心网友 时间:2024-04-06 00:57
java根据Map的值(value)取键(key) 的实现方法有4种,分别为:
(1)使用for循环遍历
(2)使用Iterator迭代器
(3)使用KeySet迭代
(4)使用EnterySet迭代
下面为以上4种方法具体实现的代码:
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 getKey(HashMap<Object,Object> map, String v) {
Set set = map.entrySet();
Iterator iterator=set.iterator();
String key = "";
while (iterator.hasNext()) {
Map.Entry<String, Object> enter = (Entry<String, Object>)
iterator.next();
if (enter.getValue().equals(v)) {
key = enter.getKey();
}}
return key;
}
3、使用KeySet迭代
public static Object getKey(HashMap<Object,Object> map, String v) {
Iterator<Object> 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<Object,Object> 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<String> 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<String, String> vo : map.entrySet()) {
vo.getKey();
vo.getValue();
System.out.println(vo.getKey()+" "+vo.getValue());
}
Iterator<Entry<String,String>> iter = map.entrySet().iterator();
while(iter.hasNext()){
Entry<String,String> entry = iter.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+" "+value);
}
参考资料来源:JAVA官方文档-Map
热心网友 时间:2024-04-06 00:50
用 map.entrySet(),得到Set<Entry<String,热心网友 时间:2024-04-06 00:52
public static void main(String[] args) {热心网友 时间:2024-04-06 00:49
java map可以直接去key 但是好像不能根据value 取相应的key,热心网友 时间:2024-04-06 00:52
假设value的变量为value: