Что такое вектор в Java и как его использовать?



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

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

Класс Vector является дочерним классом AbstractList класс и орудия на Список .Чтобы использовать Vectors, мы сначала должны импортировать класс Vector из пакета java.util:





import java.util.Vector

В этой статье мы обсудим следующие концепции векторов:



PHP mysql_fetch_array

Давайте начнем!

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

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

Свойство иметь динамический размер не уникально для векторов в Java. Другая структура данных, известная как ArrayList, также демонстрирует свойство иметь динамический размер. Однако векторы отличаются от ArrayLists по нескольким причинам:

  • Во-первых, векторы синхронизируются, что дает им преимущество перед по сравнению с программы, поскольку есть риски повреждения данных.
  • Во-вторых, у векторов есть некоторые унаследованные функции, которые могут быть реализованы только в векторах, а не в списках массивов.

Как получить доступ к элементам в векторе

Мы можем получить доступ к элементам данных, просто используя индекс элемента, точно так же, как мы получаем доступ к элементам в массивах.



Пример- Если мы хотим получить доступ к третьему элементу в векторе v, мы просто называем его v [3].

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

Ниже перечислены несколько вариантов вектора конструкторы доступны для использования:

  1. Вектор (int initialCapacity, int Increment) - Создает вектор с заданным значением initialCapacity и его размером приращения.
  2. Вектор (int initialCapacity) - Создает пустой вектор с заданным initialCapacity. В этом случае инкремент равен нулю.
  3. Вектор() - Создает вектор емкости по умолчанию 10.
  4. Вектор (Сборник c) - Создает вектор с заданной коллекцией, порядок элементов такой же, как и возвращаемый итератором коллекции.

Также в векторах есть три защищенных параметра

  1. Int capacityIncrement () - Он автоматически увеличивает емкость вектора, когда размер становится больше емкости.
  2. Int elementCount () - сообщить количество элементов в векторе
  3. Объект [] elementData () - массив, в котором хранятся элементы вектора

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

  • Вектор бросает IllegalArgumentException если значение InitialSize заданного вектора отрицательное.
  • Если указанная коллекция имеет значение null, он выдает Исключение нулевого указателя

Заметка:

  1. Если приращение вектора не указано, его емкость будет равнаудваивается в каждом цикле приращения.
  2. Емкость вектора не может быть меньше размера, она может равняться ему.

Давайте рассмотрим пример инициализации конструкторов векторов.

Пример: инициализация векторных конструкторов

/ Java-код, иллюстрирующий векторные конструкторы import java.util. * Public class Main {public static void main (String [] args) {// создаем вектор по умолчанию Vector v1 = new Vector () // создаем вектор заданного размера Vector v2 = new Vector (20) // создать вектор заданного размера и вектора приращения v3 = new Vector (30,10) v2.add (100) v2.add (100) v2.add (100) // создать вектор с заданным collection Vector v4 = new Vector (v2) System.out.println ('Vector v1 of capacity' + v1.capacity ()) System.out.println ('Vector v2 of capacity' + v2.capacity ()) System.out .println ('Вектор емкости v3' + v3.capacity ()) System.out.println ('Вектор емкости v4' + v4.capacity ())}

Вывод

Конструкторы - Векторы на Java - Edureka

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

До сих пор вы, должно быть, понимали, что векторы не имеют фиксированного размера, вместо этого они могут динамически изменять свой размер. Можно подумать, что векторы выделяют неопределенно длинное пространство для хранения объектов. Но это не так. Векторы могут изменять свой размер на основе двух полей «capacity» и «capacityIncrement». Первоначально при объявлении вектора выделяется размер, равный полю «емкость». Мы можем вставить элементы равной емкости. Но как только вставляется следующий элемент, он увеличивает размер массива на размер capacityIncrement. Следовательно, он может динамически изменять свой размер.

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

пример - Предположим, у нас есть вектор InitialCapacity 5 и capacityIncrement of 2. Итак, начальный размер вектора равен 5 элементам. Мы вставляем в этот вектор 5 элементов по одному, а именно 1,2,3,4,5. Когда мы пытаемся вставить в вектор другой элемент, а именно 6, размер вектора будет увеличен на 2. Следовательно, размер вектора теперь равен 7. Таким образом, вектор легко регулирует свой размер в соответствии с номером. элементов.

Еще один интересный момент: в отличие от массивов, векторы не содержат реальных объектов, а только ссылки на объекты. Следовательно, он позволяет хранить объекты разных типов данных в одном и том же векторе.

Методы в векторе

Давайте посмотрим на несколько очень часто используемых векторных методов.

  • Логическое добавление (Объект o) - Он добавляет элемент в конец вектора.
// Код Java, показывающий логический метод add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (1 ) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец list v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Вектор равен' + v)}}

Вывод

  • Пустое добавление (int Index, элемент E) - Он добавляет данный элемент по указанному индексу в вектор
// Код Java, показывающий метод void add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (0 , 1) // Добавляет 1 в индекс 0 v.add (1, 'Java') // Добавляет 'Java' в индекс 1 v.add (2, 'is') // Добавляет 'is' в индекс 2 v.add (3, 'Fun') // Добавляет 'Fun' в индекс 3 v.add (4, '!!!') // Добавляет 'Fun' в индекс 4 System.out.println (' Вектор равен '+ v)}}

Вывод

  • Логическое удаление (объект o) - Он удаляет удалить элемент по заданному индексу в векторе
// Код Java, показывающий логический метод remove () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Он создает вектор по умолчанию v.add (1 ) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец list v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Вектор перед удалением' + v) v.remove (1) System.out.println ('Вектор после удаление '+ v)}}

Вывод

  • Логическое значение removeElement ( Объект obj) - Удаляет элемент по имени obj (а не по номеру индекса)
// Код Java, показывающий метод removeElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (1) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец списка v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Vector перед удалением' + v) v.removeElement ('Java') System.out.println ('Vector после удаления '+ v)}}

Вывод

  • Размер Int () - Возвращает размер вектора.
// Код Java, показывающий метод size () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (0, 1) // Добавляет 1 в индексе 0 v.add (1, 'Java') // Добавляет 'Java' в индекс 1 v.add (2, 'is') // Добавляет 'is' в индекс 2 v.add (3, 'Fun') // Добавляет 'Fun' в индекс 3 System.out.println ('Размер вектора' + v.size ())}}

Вывод

различные типы каркаса в селене
  • Внутренняя емкость () - Возвращает емкость вектора
// Код Java, показывающий метод capacity () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (0, 1) // Добавляет 1 в индексе 0 v.add (1, 'Java') // Добавляет 'Java' в индекс 1 v.add (2, 'is') // Добавляет 'is' в индекс 2 v.add (3, 'Fun') // Добавляет 'Fun' по индексу 3 System.out.println ('Емкость вектора' + v.capacity ())}}

Вывод

  • Объект get (int index) - Он возвращает элемент в заданной позиции в векторе
// Код Java, показывающий метод get () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (1) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец списка v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Элемент с индексом 1 равен' + v.get (1))}}

Вывод

  • Объект firstElement () - Возвращает первый элемент
// Код Java, показывающий метод firstElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (1) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец списка v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Первый элемент -' + v.firstElement ())}}

Вывод

  • Объект lastElement () - Возвращает последний элемент
// Код Java, показывающий метод lastElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (1) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет 'is' в конец списка v.add ('Fun') // Добавляет 'Fun' в конец списка System.out.println ('Последний элемент -' + v.lastElement ())}}

Вывод

  • Логическое равно (Объект o) - Он сравнивает вектор с указанным объектом на равенство. Он возвращает истину, если все элементы истинны по своим соответствующим индексам.
// Код Java, показывающий логический метод equals () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию Vector vcopy = new Vector () v.add (1) // Добавляет 1 в конец списка v.add ('Java') // Добавляет 'Java' в конец списка v.add ('is') // Добавляет ' находится 'в конце списка v.add (' Fun ') // Добавляет' Fun 'в конец списка vcopy.add (0,1) // Добавляет 1 по индексу 0 vcopy.add (1, 'Java') // Добавляет 'Java' в индекс 1 vcopy.add (2, 'is') // Добавляет 'is' в индекс 2 vcopy.add (3, 'Fun') // Добавляет 'Fun' в индексе 3 vcopy.add (4, '!!!') // Добавляет 'Fun' в индекс 4 if (v.equals (vcopy)) System.out.println ('Оба вектора равны') else System .out.println ('Векторы не равны')}}

Вывод

  • Размер пустоты () - Этот метод удаляет лишнюю емкость и сохраняет емкость только для удержания элементов, то есть равной размеру
// Код Java, показывающий метод trimToSize () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Создает вектор по умолчанию v.add (0, 1) // Добавляет 1 в индексе 0 v.add (1, 'Java') // Добавляет 'Java' в индекс 1 v.add (2, 'is') // Добавляет 'is' в индекс 2 v.add (3, 'Fun') // Добавляет 'Fun' по индексу 3 System.out.println ('Размер вектора' + v.capacity ()) v.trimToSize () System.out.println ( 'Емкость вектора равна' + v.capacity ())}}

Вывод


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

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

Название метода Функция метода

Логическое значение isEmpty ()

проверяет, существуют ли элементы или нет

Логическое значение содержит (Объект o)

используется для проверки существования определенного элемента, например o

int indexOf (объект o)

Возвращает индекс элемента o

void removeRange (int s, int e)

удаляет элементы из вектора, начиная с s и заканчивая (e-1)

пусто ясно ()

удаляет все элементы

недействительным гарантироватьCapacity (int c)

Увеличивает емкость на c

void setSize (целое число)

Он устанавливает размер s. Если s> size, дополнительная емкость заполняется нулевыми значениями. Если s

Объект elementAt (int a)

возвращает элемент, существующий с номером индекса a

Набор объектов (int a, Object o)

заменяет элемент, присутствующий в индексе a, на данный элемент o

Объект [] toArray ()

возвращает массив, содержащий те же элементы, что и вектор

Клон объекта ()

Векторный объект скопирован

Логическое addAll (Коллекция c)

добавляет все элементы Collection c к вектору

как написать сканер на java

Логическое addAll (int a, Коллекция c)

вставляет все элементы Коллекции c к вектору по указанному индексу a

Логическое значение keepAll (Коллекция c)

сохраняет все элементы в векторе, которые также существуют в Коллекции c

Список подсписок (int s, int e)

возвращает элементы в виде объекта List, начиная с s и заканчивая (e-1) из вектора.

Как все хорошее когда-то заканчивается, так и наш блог о векторах в . Мы надеемся, что мы смогли охватить все аспекты векторов Java в этом блоге, и вы смогли собрать некоторые знания о векторах.

Убедитесь, что вы тренируетесь как можно больше и верните свой опыт.

Проверьте от Edureka, надежной компании по онлайн-обучению с сетью из более чем 250 000 довольных учащихся по всему миру. Мы здесь, чтобы помогать вам на каждом этапе вашего пути. Для того, чтобы стать помимо вопросов на собеседовании по Java, мы разработали учебную программу, предназначенную для студентов и профессионалов, которые хотят стать Java-разработчиками.

Есть вопрос к нам? Пожалуйста, укажите это в комментариях к этому «Векторам в Java». статья, и мы свяжемся с вами в ближайшее время.