У овом упутству ћемо научити о класи Вецтор и како је користити. Такође ћемо научити по чему се разликује од класе АрраиЛист и зашто би уместо тога требали да користимо листе низова.
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() | претражује вектор за наведени елемент и враћа логички резултат |