Java ArrayList.toArray()

Научитесь преобразовывать ArrayList в массив с помощью метода toArray(). Метод toArray() возвращает массив, содержащий все элементы из списка — последовательно(от первого до последнего элемента в списке).

 ArrayList<Строка> список = ...;Объект[] массив = список.toArray(); //1String[] массив = list.toArray(new String[list.size()]); //2

1. API ArrayList.toArray()

toArray() — это перегруженный метод:

public Object[] toArray();public <T> T[] toArray(T[] a);
  • Первый метод не принимает никаких аргументов и возвращает Object[]. Мы должны перебрать массив, чтобы найти нужный элемент и привести его к нужному типу.
  • Во втором методе тип времени выполнения возвращаемого массива совпадает с типом указанного массива. Если список помещается в указанный массив, он возвращается в него. В противном случае выделяется новый массив с типом времени выполнения указанного массива и размером этого списка.

    Если после заполнения всех элементов массива в массиве осталось еще место, то во все свободные позиции заносится значение «null».

См. также: Java Stream toArray()

2. Примеры ArrayList toArray()

2.1 Использование toArray()

Программа на Java для преобразования ArrayList в Object[] и перебора содержимого массива.

ArrayList<String> list = new ArrayList<>();list.add("A");list.add("B");list.add("C");list.add("D");//Convert to object arrayObject[] array = list.toArray();//Iterate and convert to desired typefor(Object o : array) {String s =(String) o; //This casting is requiredSystem.out.println(s);}

Вывод программы.

ABCD

2.2 Использование toArray(T[] a)

Программа Java для преобразования ArrayList в String[].

ArrayList<String> list = new ArrayList<>(2);list.add("A");list.add("B");list.add("C");list.add("D");String[] array = list.toArray(new String[list.size()]);System.out.println(Arrays.toString(array));

Вывод программы.

[A, B, C, D]

Исходный код на Github

Прокрутить вверх