マップをJavaで配列、リスト、またはセットに変換する

Javaでマップを配列、リスト、またはセットに変換する

1. 概要

この短い記事では、プレーンJavaを使用してconvert the values of a Map to an Array, a List or a Setを実行する方法と、Guavaに基づく簡単な例を示します。

この記事は、例としてここのthe “Java – Back to Basic” seriesの一部です。

参考文献:

Javaでマップを反復処理する

JavaのMapのエントリを反復処理するさまざまな方法を学びます。

map()とflatMap()の違い

ストリームとオプションのいくつかの例を分析して、map()とflatMap()の違いについて学びます。

Javaのマップに重複キーを保存する方法は?

Javaでマルチマップを使用して重複キーを処理するための迅速かつ実用的なガイド。

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ベースのプロジェクトであるため、そのままインポートして実行するのは簡単です。