1. Información general
Este artículo rápido le mostrará cómo convertir entre una matriz y una lista utilizando bibliotecas centrales de Java, colecciones Guava o Apache Commons.
Este artículo es parte de la serie "Java - Back to Basic" aquí en Baeldung.
2. Convertir lista en matriz
2.1. Usando Java simple
Comencemos con la conversión de List a Array usando Java simple :
@Test public void givenUsingCoreJava_whenListConvertedToArray_thenCorrect() { List sourceList = Arrays.asList(0, 1, 2, 3, 4, 5); Integer[] targetArray = sourceList.toArray(new Integer[0]); }
Tenga en cuenta que toArray (new T [0]) es la forma preferida de utilizar el método sobre toArray (new T [size]) . Como demuestra Aleksey Shipilëv en su publicación de blog, parece más rápido, más seguro y más limpio.
2.2. Usando guayaba
Usemos ahora la API de Guava para la misma conversión:
@Test public void givenUsingGuava_whenListConvertedToArray_thenCorrect() { List sourceList = Lists.newArrayList(0, 1, 2, 3, 4, 5); int[] targetArray = Ints.toArray(sourceList); }
3. Convertir matriz en lista
3.1. Usando Java simple
Comencemos con la solución simple de Java para convertir la matriz en una lista :
@Test public void givenUsingCoreJava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Arrays.asList(sourceArray); }
Tenga en cuenta que esta es una lista de tamaño fijo que aún estará respaldada por la matriz. Si desea una ArrayList estándar , simplemente puede crear una instancia de la siguiente manera:
List targetList = new ArrayList(Arrays.asList(sourceArray));
3.2. Usando guayaba
Usemos ahora la API de Guava para la misma conversión:
@Test public void givenUsingGuava_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = Lists.newArrayList(sourceArray); }
3.3. Uso de colecciones comunes
Y finalmente, usemos la API Apache Commons Collections - CollectionUtils.addAll para completar los elementos de la matriz en una Lista vacía:
@Test public void givenUsingCommonsCollections_whenArrayConvertedToList_thenCorrect() { Integer[] sourceArray = { 0, 1, 2, 3, 4, 5 }; List targetList = new ArrayList(6); CollectionUtils.addAll(targetList, sourceArray); }
4. Conclusión
La implementación de todos estos ejemplos y fragmentos de código se puede encontrar en GitHub : este es un proyecto basado en Maven, por lo que debería ser fácil de importar y ejecutar como está.