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


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

方法

  • 利用entrySet()方法。

  • 利用forEach()方法。

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

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

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

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

算法

步骤一:导入所需的包。

步骤二:创建LinkedHashMap对象。

步骤三:插入LinkedHashMap键值对。

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

步骤五:迭代该集合。

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

示例

//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表达式中定义打印逻辑,其中我们连接键和值以获得所需的输出。由于它消除了显式迭代循环的需要,因此当我们希望采用更简洁和函数式编码风格时,此方法非常有用。

算法

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

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

步骤三:使用forEach()方法迭代每个条目。

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

示例

//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表达式来执行打印任务,从而简化了该过程。本文描述了两种方法。这两种方法都很有效,并能产生预期的结果。选择最适合您的编码需求和偏好的选项。

更新于: 2023年8月25日

413 次浏览

启动您的职业生涯

完成课程获得认证

开始学习
广告