Java Map遍历的六种方式

您所在的位置:网站首页 遍历集合的方式有哪些 Java Map遍历的六种方式

Java Map遍历的六种方式

2024-07-14 04:15| 来源: 网络整理| 查看: 265

1、map.keySet()取得key的set集合,foreach遍历代码语言:javascript复制 public static void f1() { for(String key : map.keySet()) { System.out.println(key+"\t"+map.get(key)); } }2、map.keySet()取得key的set集合,Iterator游标迭代代码语言:javascript复制 public static void f2() { Iterator iterator = map.keySet().iterator(); while(iterator.hasNext()) { String key = iterator.next(); System.out.println(key+"\t"+map.get(key)); } }3、map.entrySet()方法把map转成Set,foreach遍历代码语言:javascript复制 public static void f3() { Set> entrySet = map.entrySet(); for(Map.Entry set : entrySet) { System.out.println(set.getKey()+"\t"+set.getValue()); } }4、map.entrySet()方法把map转成Set,Iterator遍历代码语言:javascript复制 public static void f4() { Iterator> iterator = map.entrySet().iterator(); while(iterator.hasNext()) { Entry entry = iterator.next(); System.out.println(entry.getKey()+"\t"+entry.getValue()); } }5、map.forEach + 函数式编程代码语言:javascript复制 public static void f5() { map.forEach(new BiConsumer() { @Override public void accept(String t, Integer u) { System.out.println(t+"\t"+u); } }); }6、map.forEach + lambda 表达式代码语言:javascript复制 public static void f6() { map.forEach((key,value)->System.out.println(key+"\t"+value)); }全部代码代码语言:javascript复制import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; import java.util.Set; import java.util.TreeMap; import java.util.function.BiConsumer; public class MainTest { // private static Map map = new HashMap();// 无序的 private static Map map = new TreeMap();// 有序的 static { for(int i = 0 ; i < 10 ; i++) { map.put("key"+i, i); } } public static void main(String[] args) { f1(); // f2(); // f3(); // f4(); // f5(); // f6(); } // 1、map.keySet()取得key的set集合,foreach遍历 public static void f1() { for(String key : map.keySet()) { System.out.println(key+"\t"+map.get(key)); } } // 2、map.keySet()取得key的set集合,Iterator游标迭代 public static void f2() { Iterator iterator = map.keySet().iterator(); while(iterator.hasNext()) { String key = iterator.next(); System.out.println(key+"\t"+map.get(key)); } } // 3、map.entrySet()方法把map转成Set,foreach遍历 public static void f3() { Set> entrySet = map.entrySet(); for(Map.Entry set : entrySet) { System.out.println(set.getKey()+"\t"+set.getValue()); } } // 4、map.entrySet()方法把map转成Set,Iterator遍历 public static void f4() { Iterator> iterator = map.entrySet().iterator(); while(iterator.hasNext()) { Entry entry = iterator.next(); System.out.println(entry.getKey()+"\t"+entry.getValue()); } } // 5、map.forEach + 函数式编程 public static void f5() { map.forEach(new BiConsumer() { @Override public void accept(String t, Integer u) { System.out.println(t+"\t"+u); } }); } // 6、map.forEach + lambda 表达式 public static void f6() { map.forEach((key,value)->System.out.println(key+"\t"+value)); } }运行结果总结

其实Map的遍历方式不多,仔细想想只有5种遍历方式(map.forEach只算一种)

1、map.keyset()方法返回key的set集合,分别用foreach循环和Iterator迭代有两种方法

2、map.entrySet()方法返回具有key和value的Map.EntrySet集合,foreach和Iterator遍历同样也有两种方法

3、map.forEach()方法,匿名内部类方法和Lambda函数输出分别有两种方法(map.forEach严格来说只能算一种了)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3