Java Vector (с примери)

В този урок ще научим за класа Vector и как да го използваме. Също така ще научим как се различава от класа ArrayList и защо вместо това трябва да използваме списъци с масиви.

Най- Vectorкласа е реализация на Listинтерфейса, който ни позволява да се създаде Промяна на размера масиви, подобни на класа ArrayList.

Java Vector срещу ArrayList

В Java и двете, ArrayListи Vectorизпълнява Listинтерфейса и предоставя същите функционалности. Между тях обаче има някои разлики.

В Vectorкласа синхронизира всяка отделна операция. Това означава, че когато искаме да извършим някаква операция върху вектори, Vectorкласът автоматично прилага заключване към тази операция.

Това е така, защото когато една нишка има достъп до вектор и в същото време друга нишка се опитва да получи достъп до нея, ConcurrentModificationExceptionсе генерира извикване, наречено . Следователно, това непрекъснато използване на заключване за всяка операция прави векторите по-малко ефективни.

В списъците с масиви обаче методите не се синхронизират. Вместо това използва Collections.synchronizedList()метода, който синхронизира списъка като цяло.

Забележка: Препоръчително е да се използва ArrayListвместо, Vectorзащото векторите не са безопасни и са по-малко ефективни.

Създаване на вектор

Ето как можем да създадем вектори в Java.

 Vector vector = new Vector(); 

Тук Type показва типа на свързания списък. Например,

 // create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector(); 

Методи на вектор

В Vectorклас също осигурява реализации на Промяна на размера-масиви на Listинтерфейс (подобни на ArrayListкласа). Някои от Vectorметодите са:

Добавяне на елементи към вектор

  • add(element) - добавя елемент към вектори
  • add(index, element) - добавя елемент към посочената позиция
  • addAll(vector) - добавя всички елементи на вектор към друг вектор

Например,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) ) 

Изход

 Вектор: (Куче, кон, котка) Нов вектор: (крокодил, куче, кон, котка) 

Достъп до векторни елементи

  • get(index) - връща елемент, посочен от индекса
  • iterator() - връща обект на итератор за последователен достъп до векторни елементи

Например,

 import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) ) 

Изход

 Елемент в индекс 2: Вектор на котка: куче, кон, котка, 

Премахнете векторните елементи

  • remove(index) - премахва елемент от определена позиция
  • removeAll() - премахва всички елементи
  • clear()- премахва всички елементи. Той е по-ефективен отremoveAll()

Например,

 import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) ) 

Изход

 Първоначален вектор: (Куче, кон, котка) Премахнат елемент: кон Нов вектор: (куче, котка) Вектор след изчистване (): () 

Други векторни методи

Методи Описания
set() променя елемент от вектора
size() връща размера на вектора
toArray() преобразува вектора в масив
toString() преобразува вектора в низ
contains() търси вектора за посочен елемент и връща булев резултат

Интересни статии...