Преобразовать карту в массив, список или набор в Java
1. обзор
В этой короткой статье будет показано, как использоватьconvert the values of a Map to an Array, a List or a Set, используя простую Java, а также на быстром примере на основеGuava.
Эта статья является частьюthe “Java – Back to Basic” series здесь для примера.
Дальнейшее чтение:
Разница между map () и flatMap ()
Узнайте о различиях между map () и flatMap (), проанализировав некоторые примеры Streams и Optionals.
Как сохранить дубликаты ключей на карте в Java?
Краткое и практическое руководство по обработке дубликатов ключей с использованием мультикарт в Java.
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, поэтому его должно быть легко импортировать и запускать как есть.