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.