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

1. Общ преглед

Тази кратка статия ще покажем как да конвертирате ценностите на една карта на Array, а Списък или Set и с обикновена Java, както и един бърз Guava базирани например.

Тази статия е част от поредицата „Java - Back to Basic“ тук на Baeldung.

2. Картографиране на стойности в масив

Първо, нека разгледаме преобразуването на стойностите на Map в масив, използвайки обикновена java :

@Test public void givenUsingCoreJava_whenMapValuesConvertedToArray_thenCorrect() { Map sourceMap = createMap(); Collection values = sourceMap.values(); String[] targetArray = values.toArray(new String[0]); }

Имайте предвид, че toArray (нов T [0]) е предпочитаният начин за използване на метода над toArray (нов T [размер]) . Както доказва Алексей Шипилев в публикацията си в блога, изглежда по-бързо, по-безопасно и по-чисто.

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.

Внедряването на всички тези примери и кодови фрагменти може да бъде намерено в проекта GitHub - това е проект, базиран на Maven, така че трябва да е лесно да се импортира и да се изпълнява както е.