Converter um mapa em uma matriz, lista ou conjunto em Java

Converter um mapa em uma matriz, lista ou conjunto em Java

1. Visão geral

Este breve artigo mostrará comoconvert the values of a Map to an Array, a List or a Set usando Java simples, bem como um exemplo rápido baseado emGuava.

Este artigo faz parte dethe “Java – Back to Basic” series aqui no exemplo.

Leitura adicional:

Iterar sobre um mapa em Java

Aprenda maneiras diferentes de iterar através das entradas de um mapa em Java.

Read more

A diferença entre map () e flatMap ()

Aprenda sobre as diferenças entre map () e flatMap () analisando alguns exemplos de Streams e Opcionais.

Read more

Como armazenar chaves duplicadas em um mapa em Java?

Um guia rápido e prático para lidar com chaves duplicadas usando multimaps em Java.

Read more

2. Valores do mapa para matriz

Primeiro, vamos ver como converter os valores do Mapa em uma matriz,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. Valores do mapa para a lista

A seguir, vamos converter os valores de um mapa em uma lista - usando Java simples:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = new ArrayList<>(sourceMap.values());
}

E usando o Goiaba:

@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
    Map sourceMap = createMap();

    List targetList = Lists.newArrayList(sourceMap.values());
}

4. Valores do mapa para definir

Finalmente, vamos converter os valores do Mapa em um Conjunto, usando java simples:

@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
    Map sourceMap = createMap();

    Set targetSet = new HashSet<>(sourceMap.values());
}

5. Conclusão

Como você pode ver, todas as conversões podem ser feitas com uma única linha, usando apenas a biblioteca de coleções padrão Java.

A implementação de todos esses exemplos e trechos de códigocan be found over on GitHub project - este é um projeto baseado em Maven, portanto, deve ser fácil de importar e executar como está.