1. Общий обзор
В этой короткой статье будет показано, как преобразовать значения map в массив, список или набор, используя обычный Java, а также краткий пример на основе Guava.
2. Сопоставление значений с массивом
Сначала давайте рассмотрим преобразование значений карты в массив, используя обычный java:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
Collection<String> values = sourceMap.values();
String[] targetArray = values.toArray(new String[0]);
}
Обратите внимание, что toArray(new T[0]) является предпочтительным способом использования метода по сравнению с toArray(new T[size]).
3. Сопоставьте значения со списком
Далее, давайте преобразуем значения карты в список, используя обычный Java:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToList_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
List<String> targetList = new ArrayList<>(sourceMap.values());
}
И используя гуаву:
@Test
public void givenUsingGuava_whenMapValuesConvertedToList_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
List<String> targetList = Lists.newArrayList(sourceMap.values());
}
4. Установка значения map для установки
Наконец, давайте преобразуем значения map в набор, используя обычный java:
@Test
public void givenUsingCoreJava_whenMapValuesConvertedToS_thenCorrect() {
Map<Integer, String> sourceMap = createMap();
Set<String> targetSet = new HashSet<>(sourceMap.values());
}
5. Заключение
Как вы можете видеть, все преобразования можно выполнить с помощью одной строки, используя только библиотеку Java standard collections.
Оригинал статьи: https://www.baeldung.com/convert-map-values-to-array-list-set