Метод ensureCapacity() класса ArrayList в Java

Java ArrayList Java ArrayList

Метод ensureCapacity() используется для установки указанного размера емкости динамического массива.

Синтаксис метода ensureCapacity():

arraylist.ensureCapacity(int minCapacity)

Примечание:arraylist — это объект класса ArrayList.

Описание параметров:

  • minCapacity — ёмкость динамического массива

Возвращаемое значение

Нет возвращаемого значения.

Пример

Пример использования ArrayList sureCapacity():

Пример

import java.util.ArrayList;
class Main {
    public static void main(String[] args){

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();
       
        // Задать размер емкости arraylist
        sites.ensureCapacity(3);
       
        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");
        System.out.println("Список сайтов: " + sites);
    }
}

Выполнение вышеуказанной программы дает следующий вывод:

网站列表: [Google, Example, Taobao]

В приведенном выше примере мы создали массив с именем sites.

Обратите внимание на эту строку:

sites.ensureCapacity(3);

Мы используем метод ensureCapacity(), чтобы настроить размер динамического массива так, чтобы можно было хранить 3 элемента.

ArrayList в Java может динамически изменять свой размер. То есть, если мы добавим в arraylist более 3 элементов, он автоматически изменит свой размер, например:

Пример

import java.util.ArrayList;
class Main {
    public static void main(String[] args){

        // Создать динамический массив
        ArrayList<String> sites = new ArrayList<>();
       
        // Задать размер емкости arraylist
        sites.ensureCapacity(3);
       
        sites.add("Google");
        sites.add("Example");
        sites.add("Taobao");
       
        // Добавить четвертый элемент
        sites.add("Wiki");

        System.out.println("Список сайтов: " + sites);
    }
}

Выполнение вышеуказанной программы дает следующий вывод:

网站列表: [Google, Example, Taobao, Wiki]

В приведенном выше примере мы используем метод ensureCapacity() для настройки размера динамического массива, чтобы хранить 3 элемента. Однако когда мы добавляем 4-й элемент в arraylist, arraylist автоматически изменяет свой размер.

Тогда, если arraylist может автоматически регулировать свой размер, почему нам всё ещё нужно использовать метод ensureCapacity() для регулировки размера arraylist?

Это потому, что если мы используем метод ensureCapacity() для настройки размера arraylist, arraylist немедленно подстроится под указанную ёмкость. В противном случае размер arraylist будет настраиваться каждый раз при добавлении элемента.

Java ArrayList Java ArrayList

Другие расширения