Konvertering mellom en matrise og en liste i Java

1. Oversikt

Denne raske artikkelen skal vise hvordan konvertere mellom en matrise og en liste bruker Java-biblioteker, Guava- eller Apache Commons-samlinger.

Denne artikkelen er en del av "Java - Back to Basic" -serien her på Baeldung.

2. Konverter Liste til Array

2.1. Bruke vanlig Java

La oss starte med konverteringen fra Liste til Array bruker vanlig Java:

@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect () {List sourceList = Arrays.asList (0, 1, 2, 3, 4, 5); Heltall [] targetArray = sourceList.toArray (nytt Heltall [0]); }

Noter det toArray (ny T [0]) er den foretrukne måten å bruke metoden på toArray (ny T [størrelse]). Som Aleksey Shipilëv viser i blogginnlegget, virker det raskere, tryggere og renere.

2.2. Bruke Guava

La oss nå bruke Guava API for samme konvertering:

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

3. Konverter Array til Liste

3.1. Bruke vanlig Java

La oss starte med den vanlige Java-løsningen for å konvertere matrisen til en Liste:

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

Merk at dette er en liste med fast størrelse som fremdeles vil bli støttet av matrisen. Hvis du vil ha en standard ArrayList du kan bare starte en slik:

Liste targetList = ny ArrayList (Arrays.asList (sourceArray));

3.2. Bruke Guava

La oss nå bruke Guava API for samme konvertering:

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

3.3. Bruke Commons-samlinger

Og til slutt, la oss bruke Apache Commons Collections - CollectionUtils.addAll API for å fylle ut elementene i matrisen til en tom liste:

@Test offentlig ugyldighet givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect () {Heltall [] sourceArray = {0, 1, 2, 3, 4, 5}; Liste targetList = ny ArrayList (6); CollectionUtils.addAll (targetList, sourceArray); }

4. Konklusjon

Implementeringen av alle disse eksemplene og kodebiter kan du finne på GitHub - dette er et Maven-basert prosjekt, så det skal være enkelt å importere og kjøre som det er.