Јава Вецтор (са примерима)

У овом упутству ћемо научити о класи Вецтор и како је користити. Такође ћемо научити по чему се разликује од класе АрраиЛист и зашто би уместо тога требали да користимо листе низова.

VectorКласа је имплементација Listинтерфејса који нам омогућава да се створи Ресизабле-низова сличне на АрраиЛист класи.

Јава Вецтор насупрот АрраиЛист

У Јави, ArrayListи Vectorимплементира Listинтерфејс и пружа исте функције. Међутим, постоје неке разлике међу њима.

VectorКласа синхронизује сваку појединачну операцију. То значи да кад год желимо извршити неку операцију на векторима, Vectorкласа аутоматски примењује закључавање на ту операцију.

То је зато што када једна нит приступа вектору, а истовремено друга нит покушава да му приступи, ConcurrentModificationExceptionгенерише се изузетак тзв . Дакле, ова континуирана употреба браве за сваку операцију чини векторе мање ефикасним.

Међутим, на листама низова методе нису синхронизоване. Уместо тога, користи Collections.synchronizedList()метод који синхронизује листу у целини.

Напомена: Препоручује се употреба ArrayListуместо тога Vectorшто вектори нису сигурни у нитима и мање су ефикасни.

Стварање вектора

Ево како можемо креирати векторе у Јави.

 Vector vector = new Vector(); 

Овде Тип указује на врсту повезане листе. На пример,

 // 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() претражује вектор за наведени елемент и враћа логички резултат

Занимљиви Чланци...