Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java遍历hashmap


遍历 HashMap 有多种方式,我将介绍几种常见的方式,并为每种方式提供示例代码和可能的依赖项(如果需要的话)。

使用 Iterator 遍历 HashMap

这是最常见的遍历 HashMap 的方式,使用 Iterator 遍历键值对。

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class HashMapIteratorExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 30);
        hashMap.put("Charlie", 35);

        Iterator<Map.Entry<String, Integer>> iterator = hashMap.entrySet().iterator();
        while (iterator.hasNext()) {
            Map.Entry<String, Integer> entry = iterator.next();
            String key = entry.getKey();
            Integer value = entry.getValue();
            System.out.println("Key: " + key + ", Value: " + value);
        }
    }
}

使用 For-Each 循环遍历 HashMap 的键

这种方式只遍历 HashMap 的键。

import java.util.HashMap;
import java.util.Map;

public class HashMapKeyIterationExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 30);
        hashMap.put("Charlie", 35);

        for (String key : hashMap.keySet()) {
            Integer value = hashMap.get(key);
            System.out.println("Key: " + key + ", Value: " + value);
        }
    }
}

使用 For-Each 循环遍历 HashMap 的值

这种方式只遍历 HashMap 的值。

import java.util.HashMap;
import java.util.Map;

public class HashMapValueIterationExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 30);
        hashMap.put("Charlie", 35);

        for (Integer value : hashMap.values()) {
            System.out.println("Value: " + value);
        }
    }
}

使用 Java 8 的 Lambda 表达式遍历 HashMap

这种方式使用 Java 8 的 Lambda 表达式来遍历 HashMap。

import java.util.HashMap;
import java.util.Map;

public class HashMapLambdaIterationExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 30);
        hashMap.put("Charlie", 35);

        hashMap.forEach((key, value) -> {
            System.out.println("Key: " + key + ", Value: " + value);
        });
    }
}

如果你想使用 Java 第三方库来增强 HashMap 的遍历功能,可以考虑使用 Apache Commons Collections 库。下面是 Maven 和 Gradle 的依赖坐标:

Maven 依赖坐标:

<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-collections4</artifactId>
    <version>4.4</version> <!-- 根据最新版本选择 -->
</dependency>

Gradle 依赖坐标:

implementation 'org.apache.commons:commons-collections4:4.4' // 根据最新版本选择

使用 Apache Commons Collections,你可以使用 MapUtils 类来遍历 HashMap,如下所示:

import org.apache.commons.collections4.MapUtils;

import java.util.HashMap;
import java.util.Map;

public class HashMapCommonsCollectionsExample {
    public static void main(String[] args) {
        Map<String, Integer> hashMap = new HashMap<>();
        hashMap.put("Alice", 25);
        hashMap.put("Bob", 30);
        hashMap.put("Charlie", 35);

        MapUtils.verbosePrint(System.out, "HashMap", hashMap);
    }
}

请注意,使用第三方库可能需要添加相应的依赖项到你的项目中。