Convirtiendo una Cadena Dividida a un ArrayList
Ahora que hemos dividido nuestra cadena en un array, convirtámosla a un ArrayList. Los ArrayLists ofrecen más flexibilidad que los arrays, incluyendo el redimensionamiento dinámico y métodos convenientes para agregar, eliminar y manipular elementos.
Convirtiendo un Array a ArrayList
Hay varias formas de convertir un array a un ArrayList en Java:
- Usando
Arrays.asList() y el constructor de ArrayList
- Usando un bucle para agregar cada elemento individualmente
- Usando la Java 8 Stream API
Actualicemos nuestro archivo StringSplitDemo.java para incluir la conversión a ArrayList. Necesitaremos importar las clases necesarias del paquete java.util:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class StringSplitDemo {
public static void main(String[] args) {
// Create a string with comma-separated values
String csvData = "apple,banana,orange,grape,mango";
System.out.println("Original string: " + csvData);
// Split the string using comma as delimiter
String[] fruits = csvData.split(",");
// Print the resulting array
System.out.println("\nAfter splitting into array:");
System.out.println("Number of elements: " + fruits.length);
// Display each element of the array
for (int i = 0; i < fruits.length; i++) {
System.out.println("Array Element " + i + ": " + fruits[i]);
}
// Method 1: Convert to ArrayList using Arrays.asList() and the ArrayList constructor
ArrayList<String> fruitList1 = new ArrayList<>(Arrays.asList(fruits));
// Method 2: Convert to ArrayList using a loop
ArrayList<String> fruitList2 = new ArrayList<>();
for (String fruit : fruits) {
fruitList2.add(fruit);
}
// Display the ArrayList created using Method 1
System.out.println("\nAfter converting to ArrayList (Method 1):");
System.out.println("Number of elements: " + fruitList1.size());
for (int i = 0; i < fruitList1.size(); i++) {
System.out.println("ArrayList Element " + i + ": " + fruitList1.get(i));
}
// Demonstrate adding a new element to the ArrayList
fruitList1.add("pineapple");
System.out.println("\nAfter adding a new element to ArrayList:");
System.out.println("Number of elements: " + fruitList1.size());
System.out.println("New element: " + fruitList1.get(fruitList1.size() - 1));
}
}
Guarda el archivo y ejecuta el programa:
javac StringSplitDemo.java
java StringSplitDemo
Deberías ver una salida similar a:
Original string: apple,banana,orange,grape,mango
After splitting into array:
Number of elements: 5
Array Element 0: apple
Array Element 1: banana
Array Element 2: orange
Array Element 3: grape
Array Element 4: mango
After converting to ArrayList (Method 1):
Number of elements: 5
ArrayList Element 0: apple
ArrayList Element 1: banana
ArrayList Element 2: orange
ArrayList Element 3: grape
ArrayList Element 4: mango
After adding a new element to ArrayList:
Number of elements: 6
New element: pineapple
Este ejemplo demuestra cómo convertir un array de cadenas a un ArrayList y muestra una de las ventajas de usar un ArrayList: la capacidad de agregar fácilmente nuevos elementos a la colección.
Observa las diferencias entre los arrays y los ArrayLists:
- Los arrays tienen un tamaño fijo, mientras que los ArrayLists pueden crecer dinámicamente
- Los ArrayLists proporcionan métodos como
add(), remove() y get() para manipular elementos
- Los ArrayLists solo pueden almacenar objetos, no tipos primitivos (aunque Java maneja automáticamente la conversión usando autoboxing)
En el siguiente paso, exploraremos diferentes delimitadores para dividir cadenas.