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, така че трябва да е лесно да се импортира и да се изпълнява както е.