如何在 Java 中打印 LinkedHashMap 的所有映射?

javaobject oriented programmingprogramming更新于 2025/2/7 5:00:17

在 Java 中,LinkedHashMap 是一种流行的数据结构,它结合了双向链表和哈希映射的优点。元素的检索顺序与添加顺序相同,因为它保留了插入顺序。当我们需要按指定顺序迭代键值对时,LinkedHashMaps 特别有用。在我们想要打印 LinkedHashMap 中包含的每个映射的情况下,有几种方法可用。在本文中,我们将研究两种不同的方法,以有效地在 Java 中打印所有 LinkedHashMap 的映射,每种方法都有自己的优点和示例代码。

方法

  • 利用 entrySet() 方法。

  • 利用 forEach() 方法。

让我们研究一下这两种方法:-

方法 1:利用 entrySet() 方法。

LinkedHashMap 类提供的 entrySet() 函数是发布 LinkedHashMap 中所有映射的初始方法。一组 Map 是此过程的结果。LinkedHashMap 中的键值对包含在条目对象中。我们可以通过迭代来快速访问和显示此集合中的每个映射。

从 LinkedHashMap 获取条目集,并使用该方法中的 for-each 循环对其进行迭代。我们分别使用 getKey() 和 getValue() 方法来获取每个元素的键和值。通过在循环过程中显示键值对,可以看到 LinkedHashMap 中的所有映射。

算法

步骤 1: 导入所需的包。

步骤 2: 可以创建 LinkedHashMap 对象。

步骤 3: 应插入 LinkedHashMap 键值对。

步骤 4: 利用 entrySet() 函数获取所有键值映射的集合。

步骤 5: 重复集合的步骤。

步骤 6: 请打印集合中每个条目的键和值。

示例

//导入所需的包
import java.util.LinkedHashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        // 创建 LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
        
        // 插入键值对
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);
        
        // 借助 entrySet() 打印所有映射
        for (Map.Entry<String, Integer> entry : linkedHashMap.entrySet()) {
            System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
        }
    }
}

输出

Key: Pen, Value: 10
Key: Rubber, Value: 5
Key: Paper, Value: 8
Key: File, Value: 20

方法 2:利用 forEach() 方法。

随着 Java 8 的推出,LinkedHashMap 类添加了 forEach() 方法,使我们能够快速对每个键值对执行操作。此方法使用 lambda 表达式和 forEach() 方法来输出 LinkedHashMap 中的每个映射。

在此方法中,会立即调用 LinkedHashMap 对象的 forEach() 方法。我们在 lambda 表达式中定义打印逻辑,在其中连接键和值以获取所需的输出。由于它消除了对显式迭代循环的要求,因此当我们需要更简洁、更实用的编码风格时,此方法非常有用。

算法

步骤 1: 导入必要的包,然后创建名为 Main 的类。构造一个 LinkedHashMap 对象。

步骤 2: 向 LinkedHashMap 添加键值对。

步骤 3: 要遍历每个条目,请使用 forEach() 方法。

步骤 4: 最后打印每个条目的键和值。

示例

//导入所需的包
import java.util.LinkedHashMap;

public class Main {

    public static void main(String[] args) {
        // 创建 LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();
        
        // 插入键值对
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);
        
        // 逐一打印所有映射
        linkedHashMap.forEach((key, value) -> System.out.println("Key: " + key + ", Value: " + value));
    }
}

输出

Key: Pen, Value: 10
Key: Rubber, Value: 5
Key: Paper, Value: 8
Key: File, Value: 20

结论

Java 中的 entrySet() 方法或 forEach() 方法可用于打印 LinkedHashMap 中的每个映射。利用 entrySet() 方法提供的键值映射,我们可以遍历每个条目并报告所需的结果。另一方面,forEach() 方法通过接受 lambda 表达式来执行打印任务,从而简化了该过程。本文介绍了两种方法。这两种方法都很有效,并能提供所需的结果。选择最适合您的编码需求和偏好的选项。


相关文章


有用资源