Главная Войти О сайте

Класс Vector

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

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

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

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

Далее приведён список конструкторов, предоставленные классом Vector в Java.

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

Методы

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

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

Пример

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

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("\nЭлементов в векторе:");
      
      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

4Java.ru