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