java - 当我将 LinkedHashMap 元素转换为 Set 时,会发生什么情况?

标签 java

LinkedHashMap<String,ArrayList<String>> h;

它包含:

key 1 : value A, B, C, D
2 : E,F
3 : G

我不太了解Set接口(interface)。也许一点可视化会有所帮助。请帮我想象一下,一旦我将 LinkedHashMap 中的所有这些元素转换为 Set,它们会是什么样子?

Set set = h.entrySet();

抱歉,也许我的问题有点晦涩。随着线程的发展,我会尝试将其锐化。

最佳答案

Map 的条目集是 map 中的条目集

映射中的条目是从键到值的映射。在您的 map 类型为 ...<String, ArrayList<String>> 的情况下,单个条目是一对 String ( key )和 ArrayList<String> (值)。

以下代码片段可能会说明这一点:

LinkedHashMap<String, List<String>> map =
        new LinkedHashMap<String, List<String>>();

map.put("1", Arrays.asList("A", "B", "C"));
map.put("2", Arrays.asList("E", "F"));
map.put("3", Arrays.asList("G"));

System.out.println(map.entrySet());
System.out.println(map.entrySet().getClass());

输出:

[1=[A, B, C], 2=[E, F], 3=[G]]     # All entries (key/value pairs)
class java.util.HashMap$EntrySet   # This particular entry set class.

例如,在本例中,条目集实际上是 HashMap 的内部类。 ,名为EntrySet .

关于java - 当我将 LinkedHashMap 元素转换为 Set 时,会发生什么情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6062694/

相关文章:

java - 获取没有空格的二维数组输入

java - 为什么不能将 "Class"变量传递给 instanceof?

java - 从列表中删除后,JPA 枚举集未在数据库中更新

java - 为新对象重新赋值,深度克隆,更好的解决方案吗?

java - 无模型的 Spring Boot + MySQL

Java从二进制结构化文件中读取错误的值

java - 如何在javaFx中实现一个菜单栏用于多个场景

java - 使用 JODA API 计算夏令时的剩余天数

java - Eclipse PDE 中的日志记录策略

java - 这个传递给方法的 Java 数组发生了什么?