Преобразовать карту в массив, список или набор в Java

Преобразовать карту в массив, список или набор в Java

1. обзор

В этой короткой статье будет показано, как использоватьconvert the values of a Map to an Array, a List or a Set, используя простую Java, а также на быстром примере на основеGuava.

Эта статья является частьюthe “Java – Back to Basic” series здесь для примера.

Дальнейшее чтение:

Итерировать по карте в Java

Изучите различные способы итерации записей Map в Java.

Read more

Разница между map () и flatMap ()

Узнайте о различиях между map () и flatMap (), проанализировав некоторые примеры Streams и Optionals.

Read more

Как сохранить дубликаты ключей на карте в Java?

Краткое и практическое руководство по обработке дубликатов ключей с использованием мультикарт в Java.

Read more

2. Сопоставить значения с массивом

Во-первых, давайте посмотрим на преобразование значений Map в массив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. Значения карты для установки

Наконец, давайте преобразуем значения Map в Set, используя простую java:

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

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

5. Заключение

Как видите, все преобразования могут быть выполнены в одну строку, используя только стандартную библиотеку Java-библиотек.

Реализация всех этих примеров и фрагментов кодаcan be found over on GitHub project - это проект на основе Maven, поэтому его должно быть легко импортировать и запускать как есть.