Java 把 Map 的值(Value)转换为 Array, List 或 Set
概述
在这篇短文中,我们将会展示如何把 Map 中的值取出来,转换为一个 Array,、List 或者一个 Set。
当然,你可以使用 Java JDK 来进行转换,你也可以使用 Guava 来进行转换。
首先,让我们来看看,如何使用原生的 Java JDK把一个 Map 的值换行为 Array。
@Test
public final void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
final Map<Integer, String> sourceMap = createMap();
final Collection<String> values = sourceMap.values();
final String[] targetArray = values.toArray(new String[0]);
}
在上面的代码中,我们使用了 values.toArray(new String[0]);
来对数组变量进行初始化。
根据: Arrays of Wisdom of the Ancients 文章中的内容,使用 toArray(new T[0]) 来对数组对象进行初始化更加高效和干净。
Map 的值转换为 List
下面,让我们看看如何使用原生 Java 来把一个 Map 中的值转换为 List。
@Test
public final void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
final Map<Integer, String> sourceMap = createMap();
final List<String> targetList = new ArrayList<>(sourceMap.values());
}
可以看到,我们还是使用了 Map 中提供的 values 方法。
使用 Guava
@Test
public final void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
final Map<Integer, String> sourceMap = createMap();
final List<String> targetList = Lists.newArrayList(sourceMap.values());
}
简单来说,我们只是使用 Guava 的 Lists 方法进行了下包装,核心还是使用 Map 自带的 values 方法。
Map 的值转换为 Set
最后,让我们来看看如何使用原生 Java 来把 Map 中的值转换为 Set。
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
Set<String> targetSet = new HashSet<>(sourceMap.values());
}
结论
通过上面的代码,我们可以看到 Java 是非常容易把 Map 中的值取出来转换为其他集合的。
其中核心的方法就是其自带的 values()
方法。
然后使用其他的类包装下。
https://www.ossez.com/t/java-map-value-array-list-set/14388#h-1
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2021-04-22 中年是危机还是重生
2021-04-22 IT 技术岗位 2019 年北美求职流水账