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.