java中map的常见遍历方式

map的遍历方式

初始化集合
    /**
     * 初始化map集合
     *
     * @return map集合
     */
    private static Map<String, String> initMap() {
        Map<String, String> map = new HashMap<>();
        map.put("张三", "a");
        map.put("李四", "b");
        map.put("王五", "c");
        map.put("孙悟空", "d");
        
        return map;
    }
forEach遍历
1.1、通过forEach遍历map entrySet
  • 实例代码如下:
import java.util.HashMap;
import java.util.Map;

/**
 * @author liouwb
 * 遍历map
 */
public class Test {
    public static void main(String[] args) {
        // 初始化map
        Map<String, String> map = initMap();

        // 通过forEach循环遍历
        fun1(map);
    }

    /**
     * 初始化map集合
     *
     * @return
     */
    private static Map<String, String> initMap() {
        Map<String, String> map = new HashMap<>();
        map.put("张三", "a");
        map.put("李四", "b");
        map.put("王五", "c");
        map.put("孙悟空", "d");
        
        return map;
    }
    
    /**
     * 通过forEach遍历map entrySet
     */
    private static void fun1(Map<String, String> map) {
        System.out.println("----forEach-entrySet遍历----");
    
        for (Map.Entry<String, String> entry : map.entrySet()) {
            System.out.println("Key = " + entry.getKey() + " Value = " + entry.getValue());
        }
    }
}
  • 输出结果如下:
----forEach-entrySet遍历----
Key = 李四 Value = b
Key = 张三 Value = a
Key = 王五 Value = c
Key = 孙悟空 Value = d
1.2、forEach遍历keyValues
/**
 * @author liouwb
 * 遍历map
 */
public class Test {
    public static void main(String[] args) {
        // 初始化map
        Map<String, String> map = initMap();

        // 通过forEach循环遍历
        fun2(map);
    }

    /**
     * 初始化map集合
     *
     * @return
     */
    private static Map<String, String> initMap() {
        Map<String, String> map = new HashMap<>();
        map.put("张三", "a");
        map.put("李四", "b");
        map.put("王五", "c");
        map.put("孙悟空", "d");

        return map;
    }
    
    /**
     * forEach keySet 遍历
     * @param map
     */
    private static void fun2(Map<String, String> map){
        System.out.println("----forEach-keySet遍历----");

        for (String keyName : map.keySet()){
            System.out.println(keyName);
        }
    }
}
  • 输出结果:
----forEach-keySet遍历----
李四
张三
王五
孙悟空
1.3 forEach values遍历
    /**
     * forEach Values遍历 遍历
     * @param map
     */
    private static void fun3(Map<String, String> map){
        System.out.println("----forEach-Values遍历----");

        for (String valueName : map.values()){
            System.out.println(valueName);
        }
    }
  • 打印输出结果:
----forEach-Values遍历----
b
a
c
d
Iterator遍历
2.1 Iterator entry遍历
    /**
     * Iterator遍历
     *
     * @param map
     */
    private static void fun4(Map<String, String> map) {
        System.out.println("----Iterator entry遍历----");

        Iterator iterator = map.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, String> entry = (Map.Entry<String, String>) iterator.next();

            System.out.println(entry.getKey() + "==>" + entry.getValue());
        }
    }
  • 输出结果:
----Iterator entry遍历----
李四==>b
张三==>a
王五==>c
孙悟空==>d
2.2 Tterator key遍历
    /**
     * Iterator key遍历
     *
     * @param map
     */
    private static void fun5(Map<String, String> map) {
        System.out.println("----Iterator key遍历----");

        String key;
        Iterator iterator = map.keySet().iterator();
        while (iterator.hasNext()) {
            key = (String) iterator.next();
            String value = map.get(key);

            System.out.println(key + "==>" + value);
        }
    }
  • 输出打印结果:
----Iterator key遍历----
李四==>b
张三==>a
王五==>c
孙悟空==>d
2.3 Iterator value遍历
    /**
     * Iterator value遍历
     *
     * @param map
     */
    private static void fun6(Map<String, String> map) {
        System.out.println("----Iterator value遍历----");

        String value;
        Iterator iterator = map.values().iterator();
        while (iterator.hasNext()) {
            value = (String) iterator.next();

            System.out.println( "value :==>" + value);
        }
    }
  • 输出打印结果:
----Iterator value遍历----
value :==>b
value :==>a
value :==>c
value :==>d
lambda遍历
    /**
     * lamdba遍历
     *
     * @param map
     */
    private static void fun6(Map<String, String> map) {
        System.out.println("lamdba 遍历");

        map.forEach((k, v) -> {
            System.out.println("key: " + k + " value: " + v);
        });
    }
  • 输出结果:
lamdba 遍历
key: 李四 value: b
key: 张三 value: a
key: 王五 value: c
key: 孙悟空 value: d
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值