Conversia între o matrice și o listă în Java

1. Prezentare generală

Acest articol rapid va arăta cum să faceți o conversie între o matrice și o listă utilizând bibliotecile Java de bază, colecțiile Guava sau Apache Commons.

Acest articol face parte din seria „Java - Înapoi la bază” aici de pe Baeldung.

2. Convertiți lista în matrice

2.1. Folosind Java simplă

Să începem cu conversia de la Listă la matrice folosind Java simplu :

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

Rețineți că toArray (noua T [0]) este modalitatea preferată de a utiliza metoda peste toArray (noua T [dimensiune]) . După cum demonstrează Aleksey Shipilëv în postarea sa de pe blog, pare mai rapid, mai sigur și mai curat.

2.2. Folosind guava

Să folosim acum API-ul Guava pentru aceeași conversie:

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

3. Convertiți matricea în listă

3.1. Folosind Java simplă

Să începem cu soluția Java simplă pentru convertirea matricei într-o listă :

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

Rețineți că aceasta este o listă de dimensiuni fixe care va fi în continuare susținută de matrice. Dacă doriți o listă standard ArrayList, puteți pur și simplu să creați una astfel:

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

3.2. Folosind guava

Să folosim acum API-ul Guava pentru aceeași conversie:

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

3.3. Utilizarea colecțiilor Commons

Și, în cele din urmă, să folosim API-ul Apache Commons Collections - CollectionUtils.addAll pentru a completa elementele matricei într-o Listă goală:

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

4. Concluzie

Implementarea tuturor acestor exemple și fragmente de cod poate fi găsită pe GitHub - acesta este un proiect bazat pe Maven, deci ar trebui să fie ușor de importat și rulat așa cum este.