【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  阅读(72)  评论(0)    收藏  举报