Map循环遍历的五种方法

方法一:
Set set = map.keySet();
for (Object o : set) {
    System.out.println(o+""+map.get(o));
}

通过key的set集合进行遍历,然后通过key来取map的value,此方法用的比较多。

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

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

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

将Map的键值对以迭代器的方式遍历出来,然后通过.getKey()与.getValue()方法取k、v的值。

方法四:
Collection<FactoryStatus> values = map.values();
for (FactoryStatus value : values) {
    System.out.println("方法四的value为:"+value);
}

此方法直接取出map的value并放在collection中,然后将v循环遍历。

方法五:
Set<Map.Entry<String, FactoryStatus>> entries = map.entrySet();
for (Map.Entry<String, FactoryStatus> entry : entries) {
    System.out.println("方法五的key为:"+entry.getKey()+",value为:"+entry.getValue());
}
1234

取得所有键值对来通过foreach循环,遍历出所有k、v,理论上推荐这种方法,尤其是容量较大的时候。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐