Java. Класс ArrayList. Методы определяющие общие характеристики массива

Класс ArrayList. Методы определяющие общие характеристики массива


Содержание


Поиск на других ресурсах:

1. Метод ensureCapacity(). Зарезервировать фрагмент памяти для массива

Метод ensureCapacity() устанавливает по возможности минимально допустимый размер массива ArrayList. Согласно документации объявление метода имеет следующий вид

public void ensureCapacity(int minCapacity);

здесь

  • minCapacity – желаемый минимальный размер памяти, предназначенной для массива. Значение minCapacity не влияет на текущий размер, определяемый методом size().

Метод целесообразно использовать в случаях, когда заранее известно максимально возможный размер массива. Это позволяет избежать лишних внутренних операций по выделению и освобождению памяти при каждом добавлении нового элемента в массив.

Пример.

// Метод ensureCapacity() - зарезервировать фрагмент памяти для массива
// 1. Создать коллекцию из 4-х строк
ArrayList<String> AL = new ArrayList();
AL.add("abc");
AL.add("def");
AL.add("jklmn");
AL.add("jprst");

// 2. Выделить минимальный размер массива, который равен 20 элементам
AL.ensureCapacity(20);

 

2. Метод isEmpty(). Определить, пустой ли массив

Метод isEmpty() позволяет определить, пустой ли массив. Объявление метода имеет следующий вид

public boolean isEmpty();

Если массив не содержит элемента, то метод возвращает true. В противном случае метод возвращает false.

Пример.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод isEmpty() - определить, пустой ли массив
    // 1. Создать пустую коллекцию
    ArrayList<Double> AL = new ArrayList();

    // 2. Определить, пустая ли коллекция
    boolean f_empty = AL.isEmpty(); // f_empty = true
    System.out.println("f_empty = " + f_empty);

    // 3. Добавить элемент в коллекцию
    AL.add(7.55);

    // 4. Повторно определить, пуста ли коллекция
    f_empty = AL.isEmpty(); // f_empty = false
    System.out.println("f_empty = " + f_empty);
  }
}

Результат выполнения программы

f_empty = true
f_empty = false

 

3. Метод size(). Получить размер массива

Метод size() возвращает количество элементов в массиве (коллекции). Объявление метода следующее

public int size();

Пример.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод size() - получить размер массива
    // 1. Создать массив строк
    ArrayList<String> AL = new ArrayList<String>();
    AL.add("jklm");
    AL.add("abcd");
    AL.add("elsd");
    AL.add("lkls");
    AL.add("azsd");

    // 2. Вывести размер массива
    int sizeArray = AL.size();
    System.out.println("sizeArray = " + sizeArray);
  }
}

Результат выполнения программы

sizeArray = 5

 

4. Метод trimToSize(). Скоректировать текущий размер массива

Метод trimToSize() устанавливает (корректирует) текущий размер массива равным значению, возвращаемому методом size(). Согласно документации, объявление метода следующее

public void trimToSize();

Метод используется в случаях, когда нужно оптимизировать размер массива после того, как его фактический размер (возвращаемый методом size()) был существенно уменьшен и массив интенсивно используется. В результате под экземпляр массива будет выделен меньший объем памяти.

Пример.

import java.util.*;

public class TrainCollections {

  public static void main(String[] args) {
    // Метод toArray() - получить подмассив на основе заданного массива
    // 1. Создать массив с емкостью до 100 символов
    ArrayList<Character> AL = new ArrayList<Character>(100);

    // 2. Добавить 6 символов в массив
    AL.add('0');
    AL.add('1');
    AL.add('2');
    AL.add('3');
    AL.add('4');
    AL.add('5');

    // 3. Установить новую емкость массива
    AL.trimToSize();

    // 4. Вывести массив
    System.out.print("AL => ");
    for (int i=0; i<AL.size(); i++)
      System.out.print(AL.get(i) + " ");
    System.out.println();
  }
}

Результат выполнения программы

AL => 0 1 2 3 4 5

 


Связанные темы