Pretvaranje između polja i popisa u Javi

1. Pregled

Ovaj kratki članak pokazat će kako pretvoriti između polja i popisa koristeći osnovne Java knjižnice, zbirke Guava ili Apache Commons.

Ovaj je članak dio serije "Java - Povratak na osnovno" ovdje na Baeldungu.

2. Pretvori Popis u Array

2.1. Korištenje obične Jave

Krenimo od pretvorbe iz Popis u Array koristeći običnu Javu:

@Test javna praznina givenUsingCoreJava_whenListConvertedToArray_thenCorrect () {Popis sourceList = Arrays.asList (0, 1, 2, 3, 4, 5); Integer [] targetArray = sourceList.toArray (novi Integer [0]); }

Imajte na umu, to toArray (novi T [0]) je preferirani način upotrebe metode u odnosu na toArray (novi T [veličina]). Kao što Aleksey Shipilëv dokazuje u svom blogu, čini se bržim, sigurnijim i čišćim.

2.2. Korištenjem Guave

Krenimo sada API Guava za istu konverziju:

@Test javna praznina givenUsingGuava_whenListConvertedToArray_thenCorrect () {Popis sourceList = Lists.newArrayList (0, 1, 2, 3, 4, 5); int [] targetArray = Ints.toArray (sourceList); }

3. Pretvori polje u Popis

3.1. Korištenje obične Jave

Počnimo s običnim Java rješenjem za pretvaranje niza u Popis:

@Test javna praznina givenUsingCoreJava_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; Popis targetList = Arrays.asList (sourceArray); }

Imajte na umu da je ovo popis fiksne veličine koji će i dalje biti podržan nizom. Ako želite standard ArrayList možete ga jednostavno instancirati tako:

Popis targetList = novi ArrayList (Arrays.asList (sourceArray));

3.2. Korištenjem Guave

Krenimo sada API Guava za istu konverziju:

@Test javna praznina givenUsingGuava_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; Popis targetList = Lists.newArrayList (sourceArray); } 

3.3. Korištenje zbirki Commons

I na kraju, iskoristimo zbirke Apache Commons - CollectionUtils.addAll API za popunjavanje elemenata niza u prazan Popis:

@Test javna praznina givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect () {Integer [] sourceArray = {0, 1, 2, 3, 4, 5}; Popis targetList = novi ArrayList (6); CollectionUtils.addAll (targetList, sourceArray); }

4. Zaključak

Implementacija svih ovih primjera i isječaka koda možete pronaći na GitHubu - ovo je projekt zasnovan na Mavenu, pa bi ga trebalo biti lako uvesti i pokrenuti kakav jest.