Java, ArrayList в Array и наоборот. Простой пример

Если требуется получить массив из ArrayList<> то для этого данный класс предусматривает отдельный метод toArray()

ArrayList<String> animals = new ArrayList<>();
animals.add("Cat");
animals.add("Dog");
animals.add("Mouse");
animals.add("Chupacabras");
String[] animalsArray = animals.toArray(
                        new String[animals.size()]);

Существует два стиля для преобразования ArrayList<> в массив: либо с использованием предопределённого размера массива (например, animals.toArray(new String[animals.size()]), либо с использованием пустого массива (например, animals.toArray(new String[0])).
В старых версиях Java было рекомендовано использование предопределённого размера массива , так как Reflection API, который необходим для создания массива нужного размера, был довольно медленным. Однако после обновлений OpenJDK 6 эта проблема стала не актуальна, и производительность с использованием пустого массива стала такой же, а иногда даже лучше.

И теперь пример с получением ArrayList<> , используя метод asList()

String[] animals = new String[]{
        "Cat",
        "Dog",
        "Mouse",
        "Chupacabras"
};
List<String> animasList = new ArrayList<>();
animasList = Arrays.asList(animals);
Поделиться этим материалом