Вектор в Java | Векторный класс Java с примерами

Опубликовано: 2021-05-26

В программировании одной из наиболее часто используемых структур данных является Vector в Java. Массивы — это статические структуры данных, которые могут линейно хранить данные. Точно так же вектор в java также хранит данные линейно, но они не ограничены фиксированным размером. Вместо этого его размер может увеличиваться или уменьшаться в соответствии с требованиями. Родительским классом является класс AbstractList, реализованный в интерфейсе списка.

Прежде чем вы начнете использовать векторы, импортируйте их из пакета java.util.package следующим образом:

импортировать java.util.Vector

Оглавление

Декларация и оценка элементов вектора

Вот как объявляется вектор в java:

открытый класс Vector<V> расширяет AbstractList<V>

реализует List<V>, RandomAccess, Cloneable, Serializable

Здесь V — это тип элемента, который может быть int, string, char и т. д.

Подобно тому, как мы получаем доступ к элементам данных в массивах, мы можем делать это и в векторах, используя индекс элемента. Например, ко второму элементу вектора E можно получить доступ как E[2].

Некоторые распространенные ошибки при объявлении вектора в java:

  • Исключение IllegalArgumentException выдается, если начальный размер вектора является отрицательным значением.
  • Исключение NullPointerException выдается, если указанная коллекция имеет значение null.
  • Размер вектора меньше или равен емкости вектора
  • Емкость удваивается в каждом цикле приращения, если приращение вектора не указано

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

1. Вектор (int initialCapacity, increment Increment)

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

Синтаксис: Vector<V> e = новый Vector<V>(int initialCapacity, int Increment);

2. Вектор (int initialCapacity)

Он создает вектор в java с начальной емкостью, равной указанному размеру.

Синтаксис: Vector<V> e = новый Vector<V>(int initialCapacity);

3. Вектор()

Он создает вектор в java с начальной емкостью по умолчанию 10.

Синтаксис: Vector<V> e = новый Vector<V>();

4. Вектор(Коллекция в)

Он создает вектор в java, элементы которого являются элементами коллекции c.

Синтаксис: Vector<V> e = новый Vector<V>(Collection c);

Вот пример, демонстрирующий создание и использование вектора в java:

Код

импортировать java.util.*;

открытый класс Main{

public static void main (аргументы String [])

{

// Создаем вектор по умолчанию

Вектор a = новый вектор();

// Создаем вектор указанного размера

Вектор b = новый вектор (20);

// Создаем вектор заданного размера и приращения

Вектор c = новый вектор (30,10);

б.добавить(100);

б.добавить(200);

б.добавить(300);

// Создаем вектор с указанной коллекцией

Вектор d = новый вектор (b)

System.out.println("Вектор мощности a" + a.capacity());

System.out.println("Вектор мощности b" + b.capacity());

System.out.println("Вектор мощности c" + c.capacity());

System.out.println("Вектор емкости d " + d.capacity());

}}

Выход

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

Вектор в java имеет три защищенных параметра следующим образом:

1. Int elementCount () — сообщает количество элементов, содержащихся в векторе.

2. Int capcityIncremen()- Когда размер вектора становится больше емкости, емкость автоматически увеличивается.

3. Object[] elementData() — элементы вектора хранятся в массиве.

Методы

Вот некоторые часто используемые методы вектора в java:

1. Добавьте элементы

Boolean add(Object o) — элемент добавляется в конец вектора

Void add(int index V element) - данный элемент добавляется к указанному индексу в векторе

Код для добавления элементов в вектор в java:

импортировать java.util.*;

импортировать java.io.*;

открытый класс AddElementsToVector {

public static void main(String[] arg)

{

// Создаем вектор по умолчанию

Вектор a = новый вектор();

// Добавление элементов с помощью метода add()

а.добавить(1);

а.добавить(2);

а.добавить("вектор");

а. добавить («для»);

а.добавить(3);

System.out.println("Вектор a равен " + a);

// Создаем общий вектор

Vector<Integer> b = новый Vector<Integer>();

б. добавить (0);

б.добавить(1);

б.добавить(2);

System.out.println("Вектор b равен " + b);

}

}

Выход

2. Удалить элементы

Boolean Remove(object o) — используется для удаления элемента по указанному индексу в векторе.

Когда элемент удаляется, все элементы сдвигаются влево, чтобы заполнить пробелы; затем индексы обновляются.

Код для иллюстрации удаления элементов из вектора в java:

импортировать java.util.*;

импортировать java.io.*;

открытый класс Удалить {

public static void main(String[] arg)

{

// Создаем вектор по умолчанию

Вектор a = новый вектор();

// Добавление элементов с помощью метода add()

а.добавить(1);

а.добавить(2);

а.добавить("вектор");

а. добавить («для»);

а.добавить(4);

// Удалить элемент

а.удалить(2);

// Проверить

System.out.println("после удаления: " + a);

}

}

Выход

Оформить заказ: Как сделать успешную карьеру в Java?

3. Изменить элементы

Метод set() можно использовать для изменения элемента после добавления элементов. На индекс элемента можно ссылаться, поскольку вектор индексируется. Этот метод принимает индекс и обновленный элемент.

Код для изменения элементов в векторе в java

импортировать java.util.*;

обновление открытого класса {

public static void main (String args [])

{

// Создаем пустой вектор

Vector<Integer> a = new Vector<Integer>();

// Добавляем элементы

а.добавить(1);

а.добавить(2);

а.добавить(3);

а.добавить(10);

а.добавить(20);

// Отображать

System.out.println("Вектор: " + a);

// Заменять

System.out.println("Замена"

+ a.set(0, 22));

System.out.println («Замена»

+ a.set(4, 50));

// Отобразить измененный вектор

System.out.println("Новый вектор:" + a);

}

}

Выход

4. Итерация вектора

Существует несколько способов перебора вектора. Одним из них является метод get(). Вот программа для итерации элементов в векторе в java:

импортировать java.util.*;

общественный класс Итерация {

public static void main (String args [])

{

// создание экземпляра вектора

Vector<String> a = новый Vector<>();

// Добавляем элементы с помощью метода add()

а.добавить("вектор");

а. добавить («в»);

a.add(1, «java»);

// Используем метод Get и цикл for

for (int i = 0; i < a.size(); i++) {

System.out.print(a.get(i) + " ");

}

Система.out.println();

// Использовать для каждого цикла

для (строка ул: а)

System.out.print(str + "");

}

}

Выход

Читайте: Архитектура и компоненты Java

Другие важные методы

  • Int size() — используется для возврата размера вектора.
  • Object get(int index) — используется для возврата элемента в указанной позиции в векторе.
  • Object firstElement() — используется для возврата первого элемента вектора в java.
  • Object lastElement() — используется для возврата последнего элемента вектора в java.
  • Логическое равенство (объект o) — используется для сравнения вектора с заданным объектом на предмет равенства. Возвращает истину, если все элементы истинны по соответствующим индексам.
  • Void trimtosize() — используется для удаления дополнительной емкости и сохранения емкости равной размеру.

Подробнее о векторах

  • Вектор в Java — это динамическая структура данных, доступ к которой можно получить с помощью целочисленного индекса.
  • Хотя он похож на ArrayList, он синхронизирован и содержит некоторые устаревшие методы, недоступные в структуре коллекции.
  • Порядок размещения сохраняется.
  • Он редко используется в непоточной среде.
  • Из-за синхронизации векторы плохо работают при поиске, добавлении, обновлении и удалении элементов.
  • Итераторы векторного класса быстро выходят из строя и вызывают исключение ConcurrentModificationException в случае одновременной модификации.
  • Стек является его непосредственно известным подклассом.

Распределение памяти в векторах

Как видно выше, векторы не имеют определенного размера. Вместо этого вектор в java может динамически изменять свой размер. Предполагается, что векторы выделяют неопределенное пространство для хранения элементов. Однако это не так. Размер вектора изменяется на основе двух полей: «приращение емкости» и «емкость».

При объявлении вектора выделяется поле «емкость», равное размеру, и могут быть добавлены элементы, равные емкости. Как только вставляется следующий элемент, размер массива увеличивается на величину 'capacityIncrement'. Это дает вектору возможность изменять свой размер — емкость конструктора по умолчанию удваивается при вставке нового элемента.

Изучайте онлайн-курсы по программному обеспечению от лучших университетов мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Преимущества вектора в Java

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

И векторы, и ArrayList являются динамическими. Однако векторы более выгодны, так как:

  • Векторы синхронизированы.
  • У него есть некоторые устаревшие функции, которые нельзя реализовать в ArrayLists.

Заключение

Вектор в java — это динамический массив без ограничений по размеру, который является частью Java Collection Framework, начиная с Java 1.2. В этом блоге мы видели различные конструкторы и популярные методы работы с векторами. Также стоит обратить внимание на то, что класс Vector следует использовать только в потокобезопасной среде.

Если вам интересно узнать больше о Java, ООП и разработке программного обеспечения с полным стеком, ознакомьтесь с программой Executive PG upGrad и IIIT-B по разработке программного обеспечения — специализация в разработке полного стека, которая предназначена для работающих профессионалов и предлагает более 500 часов тщательное обучение, более 9 проектов и заданий, статус выпускника IIIT-B, практические практические проекты и помощь в трудоустройстве в ведущих фирмах.

Что такое вектор в Java?

Вектор — это структура данных в Java. Как следует из названия, вектор — это своего рода последовательность элементов. Он использует динамический массив, который увеличивается и уменьшается по мере доступа. У него есть метод size() для получения текущего размера вектора и метод capacity() для получения емкости вектора. Эти два метода возвращают значения больше нуля. Емкость вектора — это количество элементов, которые можно хранить внутри вектора без необходимости выделения нового массива. Размер вектора — это количество элементов, хранящихся в данный момент внутри вектора.

В чем преимущества векторов перед массивами?

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

Что такое ArrayList в Java?

Класс ArrayList представляет собой динамический массив. Он может расти по мере необходимости для размещения новых элементов. Фактически массив реализован как список ссылок на объекты. Всякий раз, когда необходимо создать элемент, становится доступной ссылка на новый объект. Это возможно благодаря тому, что ArrayList реализован как список с динамически изменяемым размером. ArrayList наследует большинство своих методов и полей от AbstractList. ArrayList быстрее, чем массив, поскольку ему не нужно создавать новые объекты. Мутирующие методы, которые изменяют размер массива, такие как add, set и remove, называются деструктивными методами, поскольку они навсегда изменяют размер массива.