HashMap常用的4种遍历方式
常用的4中方式:
/** * entrySet Foreach * @param map */ public static void entrySetForeach(Map<String,Object> map){ Set<Map.Entry<String, Object>> entries = map.entrySet(); System.out.println("entrySetForeach:"); for (Map.Entry<String, Object> entry : entries){ System.out.println(entry.getKey() + ":" + entry.getValue()); } } /** * entrySet Iterator * @param map */ public static void entrySetIterator(Map<String,Object> map){ Iterator<Map.Entry<String, Object>> entries = map.entrySet().iterator(); System.out.println("entrySetIterator:"); while (entries.hasNext()){ Map.Entry<String, Object> next = entries.next(); System.out.println(next.getKey() + ":" + next.getValue()); } } /** * lambda表达式 * @param map */ public static void lambda(Map<String,Object> map){ System.out.println("lambda:"); map.forEach((key,value) ->{ System.out.println(key + ":" + value); }); } /** * streams 流 * @param map */ public static void streams(Map<String,Object> map){ System.out.println("streams:"); map.entrySet().stream().forEach(entry -> { System.out.println(entry.getKey() + ":" + entry.getValue()); }); } public static void main(String[] args) { Map<String, Object> map = new HashMap<>(); map.put("name","张三"); map.put("age",23); // entrySet Foreach的方式 entrySetForeach(map); // entrySet 迭代器Iterator的方式 entrySetIterator(map); // lambda表达式的方式 lambda(map); // streams流的方式 streams(map); }
结果: