美文网首页CWIKIUS
Java 把 Map 的值(Value)转换为 Array, L

Java 把 Map 的值(Value)转换为 Array, L

作者: HoneyMoose | 来源:发表于2023-04-23 03:41 被阅读0次

    概述

    在这篇短文中,我们将会展示如何把 Map 中的值取出来,转换为一个Array,List或者一个Set

    当然,你可以使用 Java JDK 来进行转换,你也可以使用 Guava 来进行转换。

    首先,让我们来看看,如何使用原生的 Java JDK把一个 Map 的值换行为 Array。

    @TestpublicfinalvoidgivenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {        finalMap sourceMap =createMap();        finalCollection values = sourceMap.values();        finalString[] targetArray = values.toArray(newString[0]);    }

    在上面的代码中,我们使用了values.toArray(new String[0]);来对数组变量进行初始化。

    根据:Arrays of Wisdom of the Ancients文章中的内容,使用toArray(new T[0])来对数组对象进行初始化更加高效和干净。

    Map 的值转换为 List

    下面,让我们看看如何使用原生 Java 来把一个 Map 中的值转换为 List。

    @TestpublicfinalvoidgivenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {        finalMap sourceMap =createMap();        finalList targetList =newArrayList<>(sourceMap.values());    }

    可以看到,我们还是使用了 Map 中提供的 values 方法。

    使用 Guava

    @TestpublicfinalvoidgivenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {        finalMap sourceMap =createMap();        finalList targetList =Lists.newArrayList(sourceMap.values());    }

    简单来说,我们只是使用 Guava 的 Lists 方法进行了下包装,核心还是使用 Map 自带的 values 方法。

    Map 的值转换为 Set

    最后,让我们来看看如何使用原生 Java 来把 Map 中的值转换为 Set。

    @TestpublicvoidgivenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {Map sourceMap =createMap();Set targetSet =newHashSet<>(sourceMap.values());}

    结论

    通过上面的代码,我们可以看到 Java 是非常容易把 Map 中的值取出来转换为其他集合的。

    其中核心的方法就是其自带的values()方法。

    然后使用其他的类包装下。

    https://www.ossez.com/t/java-map-value-array-list-set/14388#h-1

    相关文章

      网友评论

        本文标题:Java 把 Map 的值(Value)转换为 Array, L

        本文链接:https://www.haomeiwen.com/subject/tesjjdtx.html