「java获取map的值」java获取map的值类型
本篇文章给大家谈谈java获取map的值,以及java获取map的值类型对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java获取map中值最小的
 - 2、java Map 根据Map的值(value)取键(key)
 - 3、Java中怎么遍历map中value值
 - 4、如何在java中取map中的键值?有哪两种方法?
 - 5、java怎么获取map的key
 
java获取map中值最小的
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
public class MinMapDemo {
public static void main(String[] args) {
MapInteger, Integer map = new HashMapInteger, Integer();
map.put(1, 8);
map.put(3, 12);
map.put(5, 53);
map.put(123, 33);
map.put(42, 11);
map.put(44, 42);
map.put(15, 3);
System.out.println(getMinKey(map));
System.out.println(getMinValue(map));
}
/**
* 求MapK,V中Key(键)的最小值
* @param map
* @return
*/
public static Object getMinKey(MapInteger, Integer map) {
if (map == null) return null;
SetInteger set = map.keySet();
Object[] obj = set.toArray();
Arrays.sort(obj);
return obj[0];
}
/**
* 求MapK,V中Value(值)的最小值
* @param map
* @return
*/
public static Object getMinValue(MapInteger, Integer map) {
if (map == null) return null;
CollectionInteger c = map.values();
Object[] obj = c.toArray();
Arrays.sort(obj);
return obj[0];
}
}
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(HashMapObject,Object map, String v) {
String key = "";
for (Map.EntryString, Object m :map.entrySet()) {
if (m.getValue().equals(v)) {
key = m.getKey();
}}
return key;
}
2、使用Iterator迭代器
public static Object getKey(HashMapObject,Object map, String v) {
Set set = map.entrySet();
Iterator iterator=set.iterator();
String key = "";
while (iterator.hasNext()) {
Map.EntryString, Object enter = (EntryString, Object)
iterator.next();
if (enter.getValue().equals(v)) {
key = enter.getKey();
}}
return key;
}
3、使用KeySet迭代
public static Object getKey(HashMapObject,Object map, String v) {
IteratorObject 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(HashMapObject,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);
}
IteratorString 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(EntryString, String vo : map.entrySet()) {
vo.getKey();
vo.getValue();
System.out.println(vo.getKey()+" "+vo.getValue());
}
IteratorEntryString,String iter = map.entrySet().iterator();
while(iter.hasNext()){
EntryString,String entry = iter.next();
String key = entry.getKey();
String value = entry.getValue();
System.out.println(key+" "+value);
}
参考资料来源:JAVA官方文档-Map
Java中怎么遍历map中value值
Java中遍历Map对象的4种方法:
1、通过Map.entrySet遍历key和value,在for-each循环中使用entries来遍历.推荐,尤其是容量大时。
2、通过Map.keySet遍历key,通过键找值value遍历(效率低),普遍使用,二次取值。
3、如果只需要map中的键或者值,你可以通过Map.keySet或Map.values来实现遍历,而不是用entrySet。在for-each循环中遍历keys或values。
4、通过Map.entrySet使用iterator遍历key和value。
扩展资料:
关于JAVA的遍历知识补充:
1、list和set集合都实现了Iterable接口,所以他们的实现类可以使用迭代器遍历,map集合未实现该接口,若要使用迭代器循环遍历,需要借助set集合。
2、使用EntrySet 遍历,效率更高。
参考资料:
百度百科--Map(映射)
如何在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:");\x0d\x0a for (String key : map.keySet()) {\x0d\x0a System.out.println("key= "+ key + " and value= " + map.get(key));\x0d\x0a }\x0d\x0a \x0d\x0a //第二种\x0d\x0a System.out.println("通过Map.entrySet使用iterator遍历key和value:");\x0d\x0a Iterator it = map.entrySet().iterator();\x0d\x0a while (it.hasNext()) {\x0d\x0a Map.Entry entry = it.next();\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a \x0d\x0a //第三种:推荐,尤其是容量大时\x0d\x0a System.out.println("通过Map.entrySet遍历key和value");\x0d\x0a for (Map.Entry entry : map.entrySet()) {\x0d\x0a System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());\x0d\x0a }\x0d\x0a\x0d\x0a //第四种\x0d\x0a System.out.println("通过Map.values()遍历所有的value,但不能遍历key");\x0d\x0a for (String v : map.values()) {\x0d\x0a System.out.println("value= " + v);\x0d\x0a }\x0d\x0a }
java怎么获取map的key
java 获取map中所有的key和value值
java.util.Iterator 对 collection 进行迭代的迭代器。
java.util.Iterator it = map.entrySet().iterator();
while(it.hasNext()){
java.util.Map.Entry entry = (java.util.Map.Entry)it.next();
entry.getKey() //返回对应的键
entry.getValue() //返回对应的值
}
以前遍历Map key-value比较习惯的方式是先获取Map中的所有key值,
然后根据key,依次从Map中去数据,基本方式如下:
MapString,String testData = new HashMapString, String();
SetString keys = testData.keySet();
for(String key :keys){
System.out.println(key+" "+testData.get(key));
}
上述其中是第一种方法,原来一直用上述方法主要是自己有点懒,有了一种方法后就觉得够用的了,今天看源码,发现还Map接口中还有一个EntryK,V的接口,对应的还有一个 SetMap.EntryK, V entrySet();方法。
也就是说其实Map中的每条key-value数据对应着一个Entry,这样的话遍历Map其实就是要取出每个Entry,也就有了第二种遍历方法:
SetEntryString, String entries = testData.entrySet();
for (EntryString, String entry : entries) {
System.out.println(entry.getKey()+":"+entry.getValue());
}
当少量的数据时,上述两种方法的效率是差不多的,当数据比较多时,第二种还是要比第一种快。
当然上述说的两种遍历针对的情况是遍历出key-value,如果是只想遍历key或value,大可不必用以上的方法了,Map中提供了SetK keySet()和CollectionV values()。
java获取map的值的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取map的值类型、java获取map的值的信息别忘了在本站进行查找喔。