Метод size() класса Java Vector

Java Vector Java Vector


Vectorклассаsize()метод используется для получения текущегоVectorколичества элементов, содержащихся в

Описание синтаксиса

public int size()

Особенности метода

  • Тип возвращаемого значения:int
  • Возвращаемое значение: текущееVectorколичество элементов в
  • Временная сложность: O(1) (константное время)

Примеры использования

Базовое использование

Пример

import java.util.Vector;

public class VectorSizeExample {
    public static void main(String[] args) {
        // Создать Vector
        Vector<String> fruits = new Vector<>();
       
        // Добавить элементы
        fruits.add("Apple");
        fruits.add("Banana");
        fruits.add("Orange");
       
        // Используйте метод size() для получения количества элементов
        int size = fruits.size();
        System.out.println("Количество элементов в Vector: " + size);
    }
}

Вывод:

Vector 中的元素数量: 3

Отличие от capacity

Новички часто путаютsize()иcapacity()методы:

Пример

Vector<Integer> numbers = new Vector<>(10); // Начальная ёмкость равна 10
numbers.add(1);
numbers.add(2);

System.out.println("Размер: " + numbers.size());     // Вывод: 2
System.out.println("Емкость: " + numbers.capacity()); // Вывод: 10
  • size(): количество элементов, хранящихся в данный момент
  • capacity(): максимальное количество элементов, которое Vector может хранить в данный момент (без необходимости расширения)

Типичные сценарии применения

1. Итерация по Vector

Пример

for (int i = 0; i < vector.size(); i++) {
    System.out.println(vector.get(i));
}

2. Проверка, пуст ли Vector

Хотя вы можете использоватьisEmpty()метод, вы также можете сделать это:

Пример

if (vector.size() == 0) {
    System.out.println("Vector is empty");
}

3. Управление количеством итераций цикла

Пример

while (vector.size() < 10) {
    vector.add("Item " + (vector.size() + 1));
}

Примечания

  1. Потокобезопасность: ХотяVectorявляется потокобезопасным, ноsize()значение, возвращаемое методом, может сразу стать недействительным в многопоточной среде (если другие потоки изменяютVector)。

  2. Вопросы производительности: для сценариев, требующих частых операций вставки и удаления,ArrayListобычно по сравнению сVectorимеет лучшую производительность, потому чтоVectorоперация синхронизации создаёт дополнительные накладные расходы.

  3. Альтернативные решения: в Java 5 и более поздних версиях можно рассмотреть использованиеCollections.synchronizedList()чтобы обернутьArrayListчтобы получить потокобезопасный список:

List<String> syncList = Collections.synchronizedList(new ArrayList<String>());

Итог

Vectorизsize()Этот метод — простой, но очень важный метод; он может помочь нам:

  • Понять, сколько элементов в данный момент содержит коллекция
  • Управлять циклами и итерациями
  • Проверять состояние коллекции

ХотяVectorчастота его использования в современной Java-разработке снизилась (заменён наArrayListзаменён), но в сценариях, где нужны потокобезопасные коллекции, он по-прежнему остаётся надёжным выбором. Пониманиеsize()Метод имеет решающее значение для освоения базовых операций Java Collections Framework.

Java Vector Java Vector

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