1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > Map循环遍历的五种方法记录

Map循环遍历的五种方法记录

时间:2022-05-02 01:44:58

相关推荐

Map循环遍历的五种方法记录

我们先初始化一个最简单的Map集合

Map<String, String> test = new HashMap<>();test.put("123", "456");test.put("456", "789");test.put("012", "345");

方法一:

先获取到所有key、value,再通过foreach循环,遍历出所有k、v,理论上推荐这种方法,尤其是容量较大的时候。

for (Map.Entry<String, String> entry:test.entrySet()){System.out.println(entry.getKey() + "" + entry.getValue());entry.setValue("00000");}

方法二:

通过key的set集合进行遍历,然后通过key来取map的value

Set set = test.keySet();for (Object key : set) {System.out.println(key + "" + test.get(key));}

方法三:

将key的set集合以迭代器的方式遍历出来,然后通过key来取map的value

Set set = test.keySet();Iterator iterator = set.iterator();while (iterator.hasNext()){Object next = iterator.next();System.out.println("key:" + next + ",value:" + test.get(next));}

方法四:

将整个Map的键值对以迭代器的方式遍历出来,然后通过.getKey()与.getValue()方法取k、v的值,过程比较繁琐,数据量比较大时耗时较长。不推荐

Set<Map.Entry<String, String>> entries = test.entrySet();Iterator<Map.Entry<String, String>> iterator1 = entries.iterator();while (iterator1.hasNext()){Map.Entry<String, String> next = iterator1.next();System.out.println("key:" + next.getKey() + ",value:" + next.getValue());}

方法五:

直接取出map的value值并放在collection中,然后将v循环遍历,在只需要获取map的值情况下推荐使用,其他情况不推荐

Collection<String> values = test.values();for (String value : values) {System.out.println("value:" + value);}

复杂Map遍历举例:

Map<String, List> map = new HashMap<String, List>();for (Map.Entry entry : map.entrySet()) {String key = entry.getKey().toString();List<String> list= (List) entry.getValue();for (String value : list) {System.out.println(key + "====" + value);}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。