Java 遍历Map的5种方式

package cn.jdbc.test;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
 
/**
 * Map 集合的循环遍历
 * @data 2020.11.12
 *
 */
public class TestMap {
 
         public static void main(String[] args) {
              Map<String, Object> map = new HashMap<String, Object>();
              map.put("aaa", 111);
              map.put("bbb", 222);
              map.put("ccc", 333);

// 第一种: 通过keySet的方式 System.out.println("第1种:通过Map.keySet()遍历key和value:"); for(String key:map.keySet()){//keySet获取map集合key的集合 然后在遍历key获取value即可 String value = map.get(key).toString();// System.out.println("key:"+key+" vlaue:"+value); } // 第二种通过迭代器的方式 System.out.println("第2种:通过Map.entrySet使用iterator遍历key和value:"); Iterator<Entry<String, Object>> it = map.entrySet().iterator(); while(it.hasNext()){ Entry<String, Object> entry = it.next(); System.out.println("key:"+entry.getKey()+" key:"+entry.getValue()); } // 第三种:尤其是容量大时,推荐 System.out.println("第3种:通过Map.entrySet遍历key和value"); for (Map.Entry<String, Object> m : map.entrySet()) { System.out.println("key:" + m.getKey() + " value:" + m.getValue()); } // 第四种:只需要获取value时使用 System.out.println("第4种:通过Map.values()遍历所有的value,但不能遍历key"); for(Object m:map.values()){ System.out.println(m); }

            // 第五种通过forEach进行遍历
            System.out.println("第5种:通过JDK8的新特性,lambad表达式");
            map.forEach((k,v){
                System.out.println("key:"+k+", value:"+v);
            });
     }
}

  如果只是获取key,或者value,推荐使用keySet或者values方式;

  如果同时需要key和value推荐使用entrySet;

   如果需要在遍历过程中删除元素推荐使用Iterator;

   如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中。

Java遍历List集合的几种方式:https://www.cnblogs.com/zhaosq/p/14103059.html

posted @ 2020-12-25 09:41  zsq_fengchen  阅读(660)  评论(0编辑  收藏  举报