【JAVA集合】快速遍历map集合

1.使用entrySet()方法【推荐】

  /*
    * 使用hm.entrySet()返回一个Map.Entry<>对象的集合,使用增强for遍历这个集合
    * */
    for (Map.Entry<String, String> entry : hm.entrySet()) {
        //Entry对象的getKey()方法获取对应key键
        String key = entry.getKey();
        //Entry对象的getValue()方法获取对应的值value
        String value = entry.getValue();
    }

2.直接使用values()方法获取所有value值组成的集合

    /*
    * 直接使用values()方法获取所有value值组成的集合
    * */
    for (String value : hm.values()) {
        System.out.println(value);
    }

3.使用keySet()方法和getValue方法

    /*
    * 使用map对象的keySet()方法获取所有key组成的集合,再利用get()方法获取对应的value值
    * */
    for (String key : hm.keySet()) {
        String value = hm.get(key);
    }

4.使用迭代器iterator

   /*
    * 使用迭代器iterator遍历集合,上面使用增强for遍历集合,当map的大小变化时会报错
    * */
    Iterator<Map.Entry<String, String>> it = hm.entrySet().iterator();
    while(it.hasNext()){
        Map.Entry<String, String> entry = it.next();
        String key = entry.getKey();
        String value = entry.getValue();
        //可对map进行增删操作
        //hm.remove(key)
    }

5.使用增强for的Lambda表达式

    /*
    * 使用增加for的Lambda表达式
    * */
    hm.forEach((key, value) -> {
        System.out.println("key:" + key);
        System.out.println("Value:" + value);
    });
点击查看完整代码
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class mapIterator {
    public static void main(String[] args) {
        //创建HashMap
        HashMap<String, String> hm = new HashMap<>();
        /*
        * 使用hm.entrySet()返回一个Map.Entry<>对象的集合,使用增强for遍历这个集合
        * */
        for (Map.Entry<String, String> entry : hm.entrySet()) {
            //Entry对象的getKey()方法获取对应key键
            String key = entry.getKey();
            //Entry对象的getValue()方法获取对应的值value
            String value = entry.getValue();
        }
        
        /*
        * 直接使用values()方法获取所有value值组成的集合
        * */
        for (String value : hm.values()) {
            System.out.println(value);
        }
        
        /*
        * 使用map对象的keySet()方法获取所有key组成的集合,再利用get()方法获取对应的value值
        * */
        for (String key : hm.keySet()) {
            String value = hm.get(key);
        }
        
        /*
        * 使用迭代器iterator遍历集合,上面使用增强for遍历集合,当map的大小变化时会报错
        * */
        Iterator<Map.Entry<String, String>> it = hm.entrySet().iterator();
        while(it.hasNext()){
            Map.Entry<String, String> entry = it.next();
            String key = entry.getKey();
            String value = entry.getValue();
            //可对map进行增删操作
            //hm.remove(key)
        }
        
        /*
        * 使用增加for的Lambda表达式
        * */
        hm.forEach((key, value) -> {
            System.out.println("key:" + key);
            System.out.println("Value:" + value);
        });
    }
}

posted @ 2024-06-01 22:24  hudad  阅读(25)  评论(0编辑  收藏  举报