Java中怎么遍历map中value值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(映射)

参考技术A

    利用for循环

    利用迭代

    用keySet 迭代

4.enterySet 迭代

    资料拓展:

Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论

参考技术B

遍历map中value大致有四种方法,具体每种方法的代码和解释如下:

Map<String,String> maps=  new HashMap<>();
maps.put("test","test");
maps.put("test1","test1");


for(String value : maps.values())
System.out.println(value);


方法一是直接获取Map中value的set,然后对value的Collection进行遍历。



for(String value :maps.keySet())
System.out.println(maps.get(value));



方法二是先获取keySet,然后遍历key,再根据key获取对应的value。


for(Map.Entry entry : maps.entrySet())
System.out.println(entry.getValue());


方法三是获取Map.EntrySet,然后对Entry对象进行遍历,得到对应的value值。


maps.forEach((key,value)->
System.out.println(value);
);

方法四是利用java8中的foreach进行遍历。


Iterator<Map.Entry<String, String>> it = maps.entrySet().iterator();
while (it.hasNext())
Map.Entry entry = it.next();
System.out.println(entry.getValue());

方法五通过Map.EntrySet的Iterator,进行遍历。

参考技术C 楼上的方法可以完成你的要求,这里还有另外一个方法供你参考,该方法不需要进行key的遍历,直接遍历value
Map data = new HashMap();
data.put("key1", "value1");
data.put("key2", "value2");
Iterator it = data.values().iterator();
while (it.hasNext())
String val = (String)it.next();
System.out.println(val);

其中,你的value是什么类型,在it.next();前面的类型转换就使用什么类型,比如这儿的value是String类型,这里则直接使用String进行类型转换
参考技术D //两种方法,有问题,给我发百度消息
public static void main(String[] args)
Map<String, String> map = new HashMap<String, String>();
map.put("id1", "wang");
map.put("id2", "sheng");

//方法一
Set<String> set = map.keySet();
for (String s:set)
System.out.println(s+","+map.get(s));

//方法二
Set<Map.Entry<String, String>> entryseSet=map.entrySet();
for (Map.Entry<String, String> entry:entryseSet)
System.out.println(entry.getKey()+","+entry.getValue());

参考资料:还有其他问题的话,给我发百度消息

本回答被提问者采纳

以上是关于Java中怎么遍历map中value值的主要内容,如果未能解决你的问题,请参考以下文章

java Map 怎么遍历

java中,怎么在jsp页面遍历map集合

java中map的常用遍历方法都有哪些?

java中map的常用遍历方法

java怎么取map中的key值

java怎么判断map集合的值是多少?