Класс Vector реализует динамический массив. Он похож на ArrayList, , но с двумя отличиями:

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

В Java класс Vector оказывается очень полезным, если вы заранее не знаете размер массива или вам нужен только тот, который может изменять размеры за время жизни программы.

Конструкторы

Ниже приведен список конструкторов, предоставляемых классом Vector.

Конструктор и описание
1Vector( )
Этот конструктор создает стандартный вектор, который имеет начальный размер 10.
2Vector(int size)
Этот конструктор принимает аргумент, равный требуемому размеру, и создает вектор, начальная емкость которого определяется size.
3Vector(int size, int incr)
Этот конструктор создает вектор, чья начальная емкость задается size и инкремент которого определяется incr. Инкремент определяет количество элементов, которые будут выделяться каждый раз, когда вектор будет изменен.
4Vector(Collection c)
Этот конструктор создает вектор, содержащий элементы коллекции c.

Методы

Помимо методов, унаследованных от его родительских классов, Vector определяет следующие методы:

Методы и описание
1void add(int index, Object element)
Вставляет указанный элемент в указанное положение в этом Vector.
2boolean add(Object o)
Добавляет указанный элемент в конец этого вектора.
3boolean addAll(Collection c)
Добавляет все элементы в указанной коллекции в конец этого вектора в том порядке, в котором они возвращаются указанным итератором коллекции.
4boolean addAll(int index, Collection c)
Вставляет все элементы внутри указанной Collection в этот Vector в указанной позиции.
5void addElement(Object obj)
Добавляет указанный компонент в конец этого вектора, увеличивая его размер на единицу.
6int capacity()
Возвращает текущую емкость этого вектора.
7void clear()
Удаляет все элементы из этого вектора.
8Object clone()
Возвращает клон этого вектора.
9boolean contains(Object elem)
Тестирует, является ли указанный объект компонентом в этом векторе.
10boolean containsAll(Collection c)
Возвращает true, если этот вектор содержит все элементы указанной Collection.
11void copyInto(Object[] anArray)
Копирует компоненты этого вектора в указанный массив.
12Object elementAt(int index)
Возвращает компонент по указанному индексу.
13Enumeration elements()
Возвращает перечисление компонентов этого вектора.
14void ensureCapacity(int minCapacity)
Увеличивает ёмкость этого вектора, если это необходимо, для обеспечения того, что он может удерживать, по меньшей мере, количество компонентов, заданных аргументом минимальной емкости.
15boolean equals(Object o)
Сравнивает указанный объект с этим вектором.
16Object firstElement()
Возвращает первый компонент (элемент с индексом 0) этого вектора.
17Object get(int index)
Возвращает элемент в указанной позиции в этом векторе.
18int hashCode()
Возвращает значение хэш-кода для этого вектора.
19int indexOf(Object elem)
Ищет первое появление данного аргумента, проверяя равенство с помощью метода equals.
20int indexOf(Object elem, int index)
Ищет первое появление данного аргумента, начиная поиск с index, и тестирование для равенства с использованием метода equals.
21void insertElementAt(Object obj, int index)
Вставляет указанный объект в качестве компонента в этот вектор по указанному индексу.
22boolean isEmpty()
Проверяет этот вектор на отсутствие компонентов.
23Object lastElement()
Возвращает последний компонент вектора.
24int lastIndexOf(Object elem)
Возвращает индекс последнего упоминания указанного объекта в этот вектор.
25int lastIndexOf(Object elem, int index)
Ищет в обратную сторону указанный объекта, начиная с указанного индекса, и возвращает индекс к нему.
26Object remove(int index)
Удаляет элемент в указанной позиции в этом векторе.
27boolean remove(Object o)
Удаляет первое упоминание указанного элемента в этом векторе. Если вектор не содержит элемент, он не изменяется.
28boolean removeAll(Collection c)
Удаляет из этого вектора все его элементы, которые содержатся в указанной Collection.
29void removeAllElements()
Удаляет все компоненты из этого вектора и устанавливает его размер нулевым.
30boolean removeElement(Object obj)
Удаляет первое (с наименьшим индексом) упоминание аргумента из этого вектора.
31void removeElementAt(int index)
removeElementAt(int index).
32protected void removeRange(int fromIndex, int toIndex)
Удаляет из этого List все элементы, индекс которых находится между fromIndex, включительно, и toIndex, исключительно.
33boolean retainAll(Collection c)
Сохраняет только элементы в этом векторе, которые содержатся в указанной Collection.
34Object set(int index, Object element)
Заменяет элемент в указанной позиции в этом векторе указанным элементом.
35void setElementAt(Object obj, int index)
Устанавливает компонент в указанном индексе этого вектора как заданный объект.
36void setSize(int newSize)
Устанавливает размер этого вектора.
37int size()
Возвращает количество компонентов в этом векторе.
38List subList(int fromIndex, int toIndex)
Возвращает представление (вид) части этого List между fromIndex, включительно, и toIndex, исключительно.
39Object[] toArray()
Возвращает массив, содержащий все элементы этого вектора в правильном порядке.
40Object[] toArray(Object[] a)
Возвращает массив, содержащий все элементы этого вектора в правильном порядке; тип выполнения возвращаемого массива - тип указанного массива.
41String toString()
Возвращает строковое представление этого вектора, содержащее строковое представление каждого элемента.
42void trimToSize()
Обрезает емкость этого вектора до текущего размера вектора.

Пример

Следующая программа демонстрирует работу нескольких методов, поддерживаемых коллекцией Vector в Java:

import java.util.*;
public class VectorDemo {

   public static void main(String args[]) {
      // начальный размер 3, шаг 2
      Vector v = new Vector(3, 2);
      System.out.println("Начальный размер: " + v.size());
      System.out.println("Начальная ёмкость: " + v.capacity());
      
      v.addElement(new Integer(1));
      v.addElement(new Integer(2));
      v.addElement(new Integer(3));
      v.addElement(new Integer(4));
      System.out.println("Ёмкость после четырёх сложений: " + v.capacity());

      v.addElement(new Double(5.45));
      System.out.println("Текущая ёмкость: " + v.capacity());
      
      v.addElement(new Double(6.08));
      v.addElement(new Integer(7));
      System.out.println("Текущая ёмкость: " + v.capacity());
      
      v.addElement(new Float(9.4));
      v.addElement(new Integer(10));
      System.out.println("Текущая ёмкость: " + v.capacity());
      
      v.addElement(new Integer(11));
      v.addElement(new Integer(12));
      System.out.println("Первый элемент: " + (Integer)v.firstElement());
      System.out.println("Последний элемент: " + (Integer)v.lastElement());
      
      if(v.contains(new Integer(3)))
         System.out.println("Вектор содержит 3.");
         
      // перечислить элементы в векторе.
      Enumeration vEnum = v.elements();
      System.out.println("\Элементы в векторе:");
      
      while(vEnum.hasMoreElements())
         System.out.print(vEnum.nextElement() + " ");
      System.out.println();
   }
}

Получим следующий результат:

Начальный размер: 0
Начальная ёмкость: 3
Ёмкость после четырёх сложений: 5
Текущая ёмкость: 5
Текущая ёмкость: 7
Текущая ёмкость: 9
Первый элемент: 1
Последний элемент: 12
Вектор содержит 3.

Элементы в векторе:
1 2 3 4 5.45 6.08 7 9.4 10 11 12

Оглавление