Метод toArray
Метод toArray преобразует коллекцию ArrayList
в обычный массив. Метод возвращает новый массив,
содержащий все элементы списка в том же порядке.
При этом сам список не изменяется. Если в метод
передать массив в качестве параметра, то он будет
использован для хранения элементов, если его размер
достаточен. В противном случае будет создан новый массив.
Синтаксис
list.toArray()
list.toArray(T[] array)
Пример
Давайте преобразуем список строк в массив:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("a", "b", "c", "d", "e"));
Object[] array = list.toArray();
System.out.println(java.util.Arrays.toString(array));
}
}
Результат выполнения кода:
[a, b, c, d, e]
Пример
Давайте преобразуем список чисел в массив целых чисел, передав нужный тип массива в параметр:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<Integer> list = new ArrayList<>(List.of(1, 2, 3, 4, 5));
Integer[] array = list.toArray(new Integer[0]);
System.out.println(java.util.Arrays.toString(array));
}
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
Пример
Давайте получим массив из списка и изменим его, убедившись, что список остается неизменным:
import java.util.ArrayList;
import java.util.List;
public class Main
{
public static void main(String[] args)
{
ArrayList<String> list = new ArrayList<>(List.of("abcde", "12345"));
String[] array = list.toArray(new String[0]);
array[0] = "changed";
System.out.println(java.util.Arrays.toString(array));
System.out.println(list);
}
}
Результат выполнения кода:
[changed, 12345]
[abcde, 12345]