Javaでマップを配列、リスト、またはセットに変換する
1. 概要
この短い記事では、プレーンJavaを使用してconvert the values of a Map to an Array, a List or a Setを実行する方法と、Guavaに基づく簡単な例を示します。
この記事は、例としてここのthe “Java – Back to Basic” seriesの一部です。
参考文献:
2. 値を配列にマップする
まず、マップの値を配列using plain javaに変換する方法を見てみましょう。
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
Map sourceMap = createMap();
Collection values = sourceMap.values();
String[] targetArray = values.toArray(new String[values.size()]);
}
3. 値をリストにマップする
次に、プレーンJavaを使用して、マップの値をリストに変換しましょう。
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
Map sourceMap = createMap();
List targetList = new ArrayList<>(sourceMap.values());
}
そしてグアバを使用して:
@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
Map sourceMap = createMap();
List targetList = Lists.newArrayList(sourceMap.values());
}
4. 設定する値をマップする
最後に、プレーンJavaを使用して、マップの値をセットに変換しましょう。
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
Map sourceMap = createMap();
Set targetSet = new HashSet<>(sourceMap.values());
}
5. 結論
ご覧のとおり、すべての変換は、Java標準コレクションライブラリのみを使用して、1行で実行できます。
これらすべての例とコードスニペットcan be found over on GitHub projectの実装–これはMavenベースのプロジェクトであるため、そのままインポートして実行するのは簡単です。