Java существует несколько способов для конвертации массива в ArrayList и ArrayList в массив. Рассмотрим каждый из них.
- Конвертация массива в ArrayList:
String[] array = {"apple", "banana", "cherry"};
ArrayList<String> list = new ArrayList<>(Arrays.asList(array));
Мы создаем новый массив строк, затем используем метод Arrays.asList() для преобразования массива в List и передаем его в конструктор ArrayList.
- Конвертация ArrayList в массив:
ArrayList<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("cherry");
String[] array = list.toArray(new String[list.size()]);
Сначала мы создаем новый массив строк с помощью метода toArray() класса ArrayList, указывая тип массива и размер. Затем мы заполняем массив элементами из списка.
Обратите внимание, что при конвертации List'а в массив используется версия метода toArray(), которой нужно передать массив нужного типа и размера. Также можно передать пустой массив нужного типа, и JVM автоматически создаст новый массив с нужным размером.
- Конвертация массива объектов в ArrayList:
Object[] array = {1, 2, 3};
ArrayList<Object> list = new ArrayList<>(Arrays.asList(array));
Здесь мы используем массив объектов и передаем его в метод Arrays.asList(). Этот метод принимает массив любого типа и возвращает список со значениями из этого массива.
- Конвертация ArrayList в массив объектов:
ArrayList<Object> list = new ArrayList<>();
list.add(1);
list.add("two");
list.add(3.0);
Object[] array = list.toArray();
Мы используем метод toArray() без аргументов, который возвращает массив типа Object. Обратите внимание, что этот метод может быть использован только для конвертации ArrayList в массив типа Object. Если вы хотите конвертировать список в массив определенного типа, нужно использовать версию метода toArray(), которой нужно передать пустой массив нужного типа.
Таким образом, существуют различные способы, которые можно использовать для конвертации массива в ArrayList и наоборот. Выбор зависит от типа данных, размера массива или списка, и потребностей приложения.
1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions
Tелеграмм канал: https://t.me/DEBAGanov
Мое резюме: https://github.com/DEBAGanov