如何打印 LinkedHashMap 的所有键值对在 Java 中?
Java 的 LinkedHashMap 数据结构同时结合了 HashMap 和双向链表的优点。对于需要可预测迭代的情况,它是更好的选择,因为它不仅像 HashMap 一样提供键值映射,还保持了组件的插入顺序。有时候,我们需要打印 LinkedHashMap 中的每个键值对,原因包括调试、分析和向用户显示信息。在本文中,我们将探讨两种优秀的技术,让我们能够在 Java 中打印 LinkedHashMap 的每个键值对,从而有效地提取和展示键值对信息。
使用 keySet() 方法访问 LinkedHashMap
LinkedHashMap 的键值对全部包含在 keySet() 方法返回的 Set 视图中。这意味着原始的 Map 会反映对集合所做的任何更改。我们可以遍历键并根据需要执行不同的操作。
语法
可以使用以下方式有效地访问和使用 LinkedHashMap 的键值对:
Set<KeyType> keySet = linkedHashMap.keySet();
方法
要在Java中打印LinkedHashMap的所有键,我们可以使用以下两种方法:
- 使用keySet()方法。
-
使用forEach()方法。
让我们来看看这两种方法:
方法一:使用keySet()方法
第一种方法涉及使用LinkedHashMap类的keySet()方法来获取所有键的集合视图。然后,我们可以再次遍历这个集合并逐个打印每个键。
算法
打印Java中LinkedHashMap的所有键的步骤如下:
步骤1: 创建LinkedHashMap对象。
步骤2: 向LinkedHashMap添加键值对。
步骤3: 使用keySet()函数获取键的集合。
步骤4: 在遍历键列表时打印每个键。
示例
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
//Create a new LinkedHashMap
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//Put values to the LinkedHashMap
linkedHashMap.put(1, "Pen");
linkedHashMap.put(2, "Book");
linkedHashMap.put(3, "Pencil");
printKeys(linkedHashMap);
}
private static void printKeys(LinkedHashMap<Integer, String> map) {
//Print the keys of the LinkedHashMap
for (Integer key : map.keySet()) {
System.out.println(key);
}
}
}
输出
1
2
3
方法二:利用forEach()方法
在第二种策略中,我们使用了Java 8中的forEach()函数。借助这种方法,我们可以反复遍历LinkedHashMap的条目,并对每个条目执行特定的操作。在这种情况下,我们可以打印每个条目的键。使用Java 8的forEach()方法,我们可以遍历LinkedHashMap的元素,并对每个元素执行特定的操作。作为参数,它接受一个lambda表达式,用于指定每个条目上要执行的操作。由于我们可以在lambda表达式中指定所需的操作,因此这种技术提供了一种明确而富有表达力的方式来与LinkedHashMap的键(和值)进行交互。
算法
在Java中打印LinkedHashMap的所有键的步骤如下:
步骤1: 可以构造LinkedHashMap对象。
步骤2: 向LinkedHashMap添加键值对。
步骤3: 使用forEach()方法遍历LinkedHashMap的条目。
步骤4: 提取并打印每个条目的键。
利用addAll()函数将HashSet中的元素返回到ArrayList。
示例
import java.util.LinkedHashMap;
import java.util.Map;
public class Main {
public static void main(String[] args) {
//Create a new LinkedHashMap
LinkedHashMap<Integer, String> linkedHashMap = new LinkedHashMap<>();
//Add some values to it
linkedHashMap.put(1, "Pen");
linkedHashMap.put(2, "Pencil");
linkedHashMap.put(3, "Book");
// Call the printKeys function
//pass the LinkedHashMap for printing values
printKeys(linkedHashMap);
}
private static void printKeys(LinkedHashMap<Integer, String> map) {
//Print the keys with the help of forEach() method
map.forEach((key, value) -> System.out.println(key));
}
}
输出
1
2
3
结论
在本文中,我们介绍了两种方法来从Java LinkedHashMap打印每个键。理解这些流程将使您能够在您的代码中有效地分析、调试或显示LinkedHashMap的键。您可以根据您的编码偏好和项目的规格选择最符合您需求的策略。这些方法使您能够利用LinkedHashMap数据结构的功能,同时快速访问和打印其键。