Java遍历Map对象有哪些方式呢?
									
下文笔者讲述java遍历Map对象的方法分享,如下所示
方法1:foreach对entrySet来遍历
				 
				Map简介
Map是一个接口 
   常见的Map实现类
     如下所示:HashMap, TreeMap, LinkedHashMap, Hashtable等
map接口中提供以下方法,如:
   map.keySet();//键集合
   map.values();//值集合
   map.entrySet();//键值集合
循环Map,笔者借助以上的集合信息,然后对其进行遍历
 即可实现遍历Map对象
   下文是笔者收集的遍历Map的方法,如下所示
方法1:foreach对entrySet来遍历
public static void method1EntrySet(Map<String, Object> map) {
        System.out.println(" 第一种方式 entrySet ");
//        当map为空,就不执行for循环体
//        map = new HashMap<>();
        Set<Map.Entry<String, Object>> set2 = map.entrySet();
        for (Map.Entry<String, Object> entry : set2) {
            System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
        }
        System.out.println("---- method2EntrySet done ----");
    }
方法2:for-each循环中遍历keys或values
public static void main(String[] args) {
	Map<String, String> map = new HashMap<>();
	map.put("id", "8888");
	map.put("name", "maomao");
	map.put("age", "18");
   
	System.out.println("使用增强for循环:");
	for (String key : map.keySet()) {
		System.out.println("k=" + key + ",v=" + map.get(key));
	}
	for (String v : map.values()) {
		System.out.println("value=" + v);
	}
}
方法3:使用迭代器Iterator遍历
public static void methodIterator(Map<String, Object> map) {
	System.out.println(" 第三种遍历方式 method4Iterator");
	Iterator<Map.Entry<String, Object>> entries = map.entrySet().iterator();
	while (entries.hasNext()) {
		Map.Entry<String, Object> entry = entries.next();
		System.out.println("Key = " + entry.getKey() + ", Value = " + entry.getValue());
	}
}
方法4:通过键找值遍历
public static void methodGetKey(Map<String, Object> map) {
	System.out.println(" 方式4: methodGetKey ");
	Set<String> keSet = map.keySet();
	for (Iterator<String> iterator = keSet.iterator(); iterator.hasNext(); ) {
		String key = iterator.next();
		System.out.println(key + " value: " + map.get(key));
	}
}
方法5:使用Lambda表达式
 
private static void methodLambda(Map<String, Object> map) {
System.out.println("使用Lambda表达式进行遍历:");
map.forEach((key, value) -> System.out.println("key:value = " + key + ":" + value));
System.out.println("使用Lambda表达式遍历key:");
map.keySet().forEach(key ->
System.out.println(" key==>" + key + ",对应的value==>" + map.get(key)));
System.out.println("使用Lambda表达式遍历value:");
map.values().forEach(value -> System.out.println(value));
}
  
方法6:使用jdk8的foreach方法
private static void methodBiConsumer(Map<String, String> map) {
    System.out.println("使用Java 8的forEach进行遍历:");
    map.forEach(new BiConsumer<String, String>() {
        @Override
        public void accept(String key, String value) {
            System.out.println("k=" + key + ",v=" + value);
        }
    });
}
 
方法7:使用jdk8中的Stream流
private static void methodStream(Map<String, String> map) {
	System.out.println("使用stream流进行遍历:");
	map.entrySet().stream().forEach((Map.Entry entry) -> {
		System.out.println(entry.getKey());
		System.out.println(entry.getValue());
	});
}
									
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。

			
               
               
               
               
          
