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(映射)
利用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的遍历,直接遍历valueMap 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值的主要内容,如果未能解决你的问题,请参考以下文章