Меню Закрыть

Java преобразовать массив в arraylist

Массив — это набор элементов, которые могут иметь как примитивные типы данных, так и объекты. Массивы в Java носят статический характер. ArrayLists, с другой стороны, могут хранить элементы только как объекты. ArrayLists в Java, в отличие от массивов, имеют динамический характер. ArrayList — это класс коллекции, представленный в пакете java.util , который реализует интерфейс java.util.List .

Массив можно преобразовать в ArrayList с помощью следующих методов:

    Использование метода ArrayList.add () для ручного добавления элементов массива в ArrayList . Этот метод включает создание нового ArrayList и добавление всех элементов данного массива во вновь созданный ArrayList с помощью метода add ().

Параметры: эта функция принимает 2 обязательных параметра:

  • index — Индекс, в который должен быть вставлен указанный элемент.
  • element — элемент для вставки.

Возвращает: метод не возвращает никакого значения

Исключение (я): метод генерирует исключение IndexOutOfBoundsException, если индекс находится вне диапазона.

// Java-программа для иллюстрации преобразования
// из массива в ArrayList

public static void func1( int arr[])

// Использование метода add () для добавления элементов в array_list

for ( int i = 0 ; i

array_list.add( new Integer(arr[i]));

public static void main(String[] args)

Использование метода Arrays.asList () класса java.utils.Arrays: этот метод преобразует массив в список, а затем передает список в качестве параметра для инициализации нового ArrayList со значениями списка.

Параметры: Метод принимает обязательный параметр T [] a, где a — массив, на который будет опираться список, а T — тип массива.

Returns: метод возвращает представление списка указанного массива.

// Java-программа для иллюстрации преобразования
// из массива в ArrayList

public static void func2(Integer arr[])

// Использование метода Arrays.asList ()

new ArrayList (Arrays.asList(arr));

public static void main(String[] args)

// Вместо этого используются целочисленные объекты

Читайте также:  Как зайти в установки фотошопа

// примитивов для преобразования в список

Использование метода Collections.addAll () класса java.utils.Collections: этот метод принимает ArrayList, в который значения массива должны быть вставлены в качестве первого параметра; и Массив, значения которого должны использоваться в качестве второго параметра. Затем он копирует значения массива в ArrayList.

Параметры: Метод принимает 2 обязательных параметра:

  • c — это коллекция, в которую должны быть вставлены элементы.
  • a — Массив для вставки в c, типа T

Возвращает: метод возвращает значение «истина», если коллекция изменилась в результате вызова, в противном случае «ложь».

Исключение (я): метод бросает

  • UnsupportedOperationException .
  • NullPointerException, если указанная коллекция пуста.
  • IllegalArgumentException, если какой-либо аспект значения в массиве препятствует его добавлению в c.

// Java-программа для иллюстрации преобразования
// из массива в ArrayList

Иногда нам нужно преобразовать массив в ArrayList на Java, но как сделать это правильно и эффективно? Сегодня мы будем рассматривать два способа конвертации Array в ArrayList.

Arrays.asList(T… a) — простой и быстрый способ преобразовать массив в ArrayList в Java, но этот метод возвращает исходный массив в виде ArrayList. Результирующий ArrayList будет фиксированного размера и любая попытка изменить в нем что-то приведет к UnsupportedOperationException во время выполнения. Кроме того, любое изменение в массиве также изменит элементы в ArrayList!

Collections.addAll(ArrayList strList, T[] strArr) — лучший способ преобразовать Array в ArrayList, потому что массив данных копируется в список в виде самостоятельного объекта. А это значит, что исходный массив и результирующий ArrayList будут независимы друг от друга.

Теперь давайте посмотрим эти методы в действии:

Есть ArrayList который автоматически заполняется данными(ссылками). Хочу преобразовать его в простой String[] командой:

Но Eсlipse ругается на ; причем вне зависимости от того как я пытаюсь преобразовать, в этом случае тоже будет ошибка:

Читайте также:  Степпер который не скрипит

В этом варианте нет ошибки:

Но если попытаться вывести на консоль, то вместо данных я получаю вот такую ошибку:

А вот такой вариант крашит программу:

Такой нормально покажет ссылку:

Соответственно вопрос в чем может быть ошибка и как лучше преобразовать ArrayList в обычный массив.

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.