🔥 🚀 Важно для всех, кто работает с Java! 🔥
На JavaRocks ты найдешь уникальные туториалы, практические задачи и редкие книги, которых не найти в свободном доступе. Присоединяйся к нашему Telegram-каналу JavaRocks — стань частью профессионального сообщества!
Списки и массивы – это два способа хранения данных в Java, которые вы будете использовать довольно часто. В проектах, где вам нужно хранить данные без обработки файлов, списки и массивы позволяют хранить данные на протяжении всего выполнения программы.
В этом руководстве мы будем использовать класс ArrayList, реализующий интерфейс List
Разница между списком и массивом
| Список | Массив |
|---|---|
| Размер списка может быть изменен | Размер массива не может быть изменен |
| Вы не можете хранить примитивные типы в списке | Можно хранить примитивные типы |
| Вы можете использовать дженерики со списком | Вы не можете использовать дженерики |
| Потребляет больше памяти | Потребляет меньше памяти |
Преобразование списка в массив с помощью библиотечной функции
У List есть метод toArray(), который напрямую преобразует содержимое любого списка в массив, сохраняя при этом расположение текста в массиве таким, каким оно было в исходном списке. Вот алгоритм/шаги преобразования списка в массив в java с помощью этой встроенной функции.
- Инициализируйте ArrayList.
- Добавьте элементы в список с помощью метода
list.add(data_type). - Создайте массив того же размера, что и список.
- Преобразуйте список в массив, используя в качестве аргумента имя переменной массива, созданного в шаге 3.
- Выведите содержимое массива.
Код, реализующий эти шаги, приведен ниже.
import java.util.ArrayList;
public class convertListToArray {
public static void main(String[] args) {
ArrayList<String> sampleList = new ArrayList<String>();
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
System.out.println("Elements of List: " + sampleList);
String[]arr = new String [sampleList.size()];
sampleList.toArray(arr);
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}Run CodeПреобразование списка в массив без использования встроенных функций
Иногда может возникнуть необходимость преобразовать список в массив без использования встроенных функций. В задаче могут использоваться определенные ограничения на библиотечные функции. Такое требование характерно для студентов-программистов, которым предлагается работать без них, чтобы помочь изучить внутреннюю работу этих функций. В таких случаях вы можете использовать следующие шаги для преобразования списка в массив.
- Инициализируйте список ArrayList.
- Добавьте элементы в список с помощью метода
list.add(data_type). - Создайте массив того же размера, что и список.
- Создайте цикл for, который будет перебирать каждый элемент ArrayList и передавать его в
Array[index]с помощью функцииlist.get(index). - Выведите содержимое массива
Код для реализации этих шагов приведен ниже.
import java.util.ArrayList;
public class converListToArray2 {
public static void main(String[] args) {
ArrayList<String> sampleList = new ArrayList<String>();
sampleList.add("California");
sampleList.add("Texas");
sampleList.add("Illinois");
sampleList.add("Massachusetts");
sampleList.add("Florida");
sampleList.add("Virginia");
sampleList.add("Colorado");
System.out.println("Elements of List: " + sampleList);
String[]arr = new String [sampleList.size()];
for (int i = 0 ; i < arr.length ; i++){
arr[i] = sampleList.get(i);
}
System.out.print("Elements of Array: ");
for (int i = 0 ; i < arr.length ; i++){
System.out.print(arr[i] + " ");
}
}
}
Run CodeАналогично, если вы задаетесь вопросом, как преобразовать массив в список, вы можете сделать это с помощью встроенного метода Array.asList() или итерацией по массиву с сохранением значений по каждому индексу в списке.
Перевод статьи «Convert List to Array in Java».
