Java中的集合
Java LinkedList指南
Java ArrayList指南
Java中不可變的ArrayList
CopyOnWriteArrayList指南
JavaJava中的多維ArrayList
將迭代器轉換為列表
Java –從列表中獲取隨機項目/元素
用Java對列表進行分區
從Java列表中刪除所有Null
從Java中的列表中刪除所有重複項
檢查Java中兩個列表是否相等
如何使用Java在列表中查找元素
Java列表UnsupportedOperationException
將列表複製到Java中的另一個列表
從列表中刪除所有出現的特定值
將多個元素添加到Java ArrayList
從列表中刪除第一個元素
在Java中迭代列表的方法
Java中兩個列表的交集
如何計算Arraylist中的重複元素
查找Java中兩個列表之間的差異
用Java將Map轉換為Array,List或Set
1.概述
這篇簡短的文章將展示如何使用純Java以及基於Guava的快速示例將Map的值轉換為數組,**列表或集合。
本文是Baeldung上的“ Java – Back to Basic”系列的一部分。
進一步閱讀:
遍歷Java中的Map
學習遍歷Java中Map條目的不同方法。
閱讀更多→
map()和flatMap()之間的區別
通過分析Streams和Optionals的一些示例,了解map()和flatMap()之間的區別。
閱讀更多→
如何在Java中的地圖中存儲重複鍵?
快速實用的指南,通過在Java中使用多重映射來處理重複鍵。
閱讀更多→
2.將值映射到數組
首先,讓我們看一下使用純java將Map的值轉換為數組:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
Collection<String> values = sourceMap.values();
String[] targetArray = values.toArray(new String[0]);
}
注意,與toArray(new T [size])相比, toArray(new T [0])是使用該方法的首選方法。正如AlekseyShipilëv在其博客文章中所證明的那樣,它看起來更快,更安全,更乾淨。
3.將值映射到列表
接下來,讓我們使用純Java將Map的值轉換為List:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
List<String> targetList = new ArrayList<>(sourceMap.values());
}
並使用番石榴:
@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
List<String> targetList = Lists.newArrayList(sourceMap.values());
}
4.映射要設置的值
最後,讓我們使用純Java將Map的值轉換為Set:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
Set<String> targetSet = new HashSet<>(sourceMap.values());
}
5.結論
如您所見,僅使用Java標準集合庫,所有轉換都可以在一行中完成。
所有這些示例和代碼段的實現都**可以在GitHub項目上找到**–這是一個基於Maven的項目,因此應該很容易直接導入和運行。