Konvertálás tömb és egy lista között Java-ban

1. Áttekintés

Ez a gyors cikk megmutatja, hogyan kell konvertálás egy tömb és egy lista között Java Java könyvtárak, Guava vagy Apache Commons gyűjtemények használatával.

Ez a cikk a „Java - Vissza az alapokhoz” sorozat része, itt, Baeldungon.

2. Konvertálás Lista hogy Array

2.1. Sima Java használatával

Kezdjük a Lista hogy Array sima Java használatával:

@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect () {List sourceList = Arrays.asList (0, 1, 2, 3, 4, 5); Egész szám [] targetArray = sourceList.toArray (új egész szám [0]); }

Vegye figyelembe, hogy toArray (új T [0]) a módszer előnyös módja a toArray (új T [méret]). Amint Aleksey Shipilëv blogbejegyzésében bizonyítja, gyorsabbnak, biztonságosabbnak és tisztábbnak tűnik.

2.2. Guava használatával

Most használjuk a Guava API ugyanarra az átalakításra:

@Test public void givenUsingGuava_whenListConvertedToArray_thenCorrect () {List sourceList = Lists.newArrayList (0, 1, 2, 3, 4, 5); int [] targetArray = Ints.toArray (forrásLista); }

3. Konvertálja a tömböt a Lista

3.1. Sima Java használatával

Kezdjük a sima Java megoldással, amely a tömböt a-ba konvertálja Lista:

@Test public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect () {Egész szám [] sourceArray = {0, 1, 2, 3, 4, 5}; List targetList = Arrays.asList (sourceArray); }

Vegye figyelembe, hogy ez egy fix méretű lista, amelyet továbbra is a tömb támogat. Ha szabványt szeretne Tömb lista egyszerűen példányosíthatja az egyiket:

List targetList = new ArrayList (Arrays.asList (sourceArray));

3.2. Guava használatával

Most használjuk a Guava API ugyanarra az átalakításra:

@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect () {Egész szám [] sourceArray = {0, 1, 2, 3, 4, 5}; List targetList = Lists.newArrayList (sourceArray); } 

3.3. A Commons Gyűjtemények használata

És végül használjuk az Apache Commons gyűjteményeket - CollectionUtils.addAll API a tömb elemeinek kitöltésére egy üres listába:

@Test public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect () {Egész szám [] sourceArray = {0, 1, 2, 3, 4, 5}; List targetList = new ArrayList (6); CollectionUtils.addAll (targetList, sourceArray); }

4. Következtetés

Mindezen példák és kódrészletek megvalósítása megtalálható a GitHubon - ez egy Maven-alapú projekt, ezért könnyen importálhatónak és futtathatónak kell lennie.