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

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

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

方法

  • 利用entrySet()方法。

  • 利用forEach()方法。

让我们看看这两种方法:-

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

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

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

算法

步骤1: 导入所需的包。

步骤2: 创建LinkedHashMap对象。

步骤3: 插入LinkedHashMap键值对。

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

步骤5: 重复set的步骤。

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

示例

//import the required package
import java.util.LinkedHashMap;
import java.util.Map;

public class Main {

    public static void main(String[] args) {
        // Create a LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();

        // Insert key-value pairs
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);

        // Print all mappings with the help of 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

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

在Java 8引入LinkedHashMap类时,添加了forEach()方法,它使我们能够快速对每个键值对执行操作。该方法使用lambda表达式和forEach()方法在LinkedHashMap中输出每个映射。

在该方法中,立即调用LinkedHashMap对象的forEach()方法。我们在lambda表达式中定义打印逻辑,其中我们将键和值连接起来以获得所需的输出。由于消除了对显式迭代循环的要求,这种方法在我们希望更简洁和功能化的编码风格时非常有帮助。

算法

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

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

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

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

示例

//import the required package
import java.util.LinkedHashMap;

public class Main {

    public static void main(String[] args) {
        // Create a LinkedHashMap
        LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>();

        // Insert key-value pairs
        linkedHashMap.put("Pen", 10);
        linkedHashMap.put("Rubber", 5);
        linkedHashMap.put("Paper", 8);
        linkedHashMap.put("File", 20);

        // Print all mappings one by one
        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表达式来简化过程,执行打印任务。本文介绍了两种方法。这两种方法都有效并产生了预期的结果。选择最符合您编码需求和偏好的选项。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程