Avatar ·

¿Cómo crear un ArrayList a partir de un array en Java? Mejores formas y trampas

¡Hola a todos! Recientemente comencé a estudiar Java y me encontré con este problema: tengo un array de strings, por ejemplo: ```java String[] array = {"apple", "banana", "cherry"}; ``` Quiero convertirlo en un ArrayList para poder agregar y eliminar elementos fácilmente. Intenté hacerlo así: ```java ArrayList list = new ArrayList<>(array); ``` Pero el compilador da un error. Luego encontré el método `Arrays.asList()`, e hice esto: ```java List list = Arrays.asList(array); ``` Esto parece funcionar, pero cuando intento agregar un nuevo elemento con `list.add("orange")`, aparece `UnsupportedOperationException`. ¿Por qué? Se supone que ArrayList debería soportar la adición de elementos. También vi que algunos usan `Collections.addAll()`, y otros un bucle for. ¿Cuál es la forma correcta? Y en general, ¿cómo convertir correctamente un array en un ArrayList completamente mutable? Explíquenlo, por favor, para un principiante, con ejemplos de código. ¡Gracias de antemano! <<>>

La forma correcta: new ArrayList<>(Arrays.asList(array))