Преобразование разделенной строки в ArrayList
Теперь, когда мы разделили нашу строку на массив, давайте преобразуем ее в ArrayList. ArrayLists предлагают больше гибкости, чем массивы, включая динамическое изменение размера и удобные методы для добавления, удаления и манипулирования элементами.
Преобразование массива в ArrayList
Существует несколько способов преобразования массива в ArrayList в Java:
- Используя
Arrays.asList() и конструктор ArrayList
- Используя цикл для добавления каждого элемента по отдельности
- Используя Java 8 Stream API
Давайте обновим наш файл StringSplitDemo.java, чтобы включить преобразование в ArrayList. Нам нужно будет импортировать необходимые классы из пакета 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));
}
}
Сохраните файл и запустите программу:
javac StringSplitDemo.java
java StringSplitDemo
Вы должны увидеть вывод, похожий на:
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
Этот пример демонстрирует, как преобразовать строковый массив в ArrayList, и показывает одно из преимуществ использования ArrayList: возможность легко добавлять новые элементы в коллекцию.
Обратите внимание на различия между массивами и ArrayLists:
- Массивы имеют фиксированный размер, в то время как ArrayLists могут расти динамически.
- ArrayLists предоставляют методы, такие как
add(), remove() и get() для работы с элементами.
- ArrayLists могут хранить только объекты, а не примитивные типы (хотя Java автоматически обрабатывает преобразование, используя автоупаковку (autoboxing)).
На следующем шаге мы рассмотрим различные разделители для разделения строк.