În acest tutorial, vom învăța despre clasa Vector și cum să o folosim. De asemenea, vom afla cum este diferit de clasa ArrayList și de ce ar trebui să folosim în schimb liste de matrice.
Vector
Clasa este o implementare a List
interfeței , care ne permite să creați redimensionabile-matrice similare cu clasa ArrayList.
Java Vector vs. ArrayList
În Java, ambele ArrayList
și Vector
implementează List
interfața și oferă aceleași funcționalități. Cu toate acestea, există unele diferențe între ele.
Vector
Clasa sincronizeaza fiecare operațiune în parte. Aceasta înseamnă că ori de câte ori dorim să efectuăm o anumită operație pe vectori, Vector
clasa aplică automat o blocare la acea operație.
Acest lucru se datorează faptului că atunci când un fir accesează un vector și, în același timp, un alt fir încearcă să îl acceseze, ConcurrentModificationException
se generează o excepție numită . Prin urmare, această utilizare continuă a blocării pentru fiecare operație face vectorii mai puțin eficienți.
Cu toate acestea, în listele de matrice, metodele nu sunt sincronizate. În schimb, folosește Collections.synchronizedList()
metoda care sincronizează lista ca întreg.
Notă: Se recomandă utilizarea ArrayList
în loc de Vector
deoarece vectorii nu sunt siguri pentru fire și sunt mai puțin eficienți.
Crearea unui vector
Iată cum putem crea vectori în Java.
Vector vector = new Vector();
Aici, Type indică tipul unei liste conectate. De exemplu,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Metode de Vector
Vector
Clasa oferă , de asemenea implementari resizable-matrice ale List
interfeței (similar cu ArrayList
clasa). Unele dintre Vector
metode sunt:
Adăugați elemente la Vector
add(element)
- adaugă un element vectoriloradd(index, element)
- adaugă un element la poziția specificatăaddAll(vector)
- adaugă toate elementele unui vector la alt vector
De exemplu,
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); ) )
Ieșire
Vector: (câine, cal, pisică) Vector nou: (crocodil, câine, cal, pisică)
Accesați elementele vectoriale
get(index)
- returnează un element specificat de indexiterator()
- returnează un obiect iterator pentru a accesa secvențial elemente vectoriale
De exemplu,
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(", "); ) ) )
Ieșire
Element la indexul 2: Vector pisică: câine, cal, pisică,
Eliminați elementele vectoriale
remove(index)
- elimină un element din poziția specificatăremoveAll()
- elimină toate elementeleclear()
- elimină toate elementele. Este mai eficient decâtremoveAll()
De exemplu,
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); ) )
Ieșire
Vector inițial: (câine, cal, pisică) Element eliminat: cal Vector nou: (câine, pisică) Vector după clear (): ()
Alte metode vectoriale
Metode | Descrieri |
---|---|
set() | modifică un element al vectorului |
size() | returnează dimensiunea vectorului |
toArray() | convertește vectorul într-o matrice |
toString() | convertește vectorul într-un șir |
contains() | caută vectorul pentru elementul specificat și returnează un rezultat boolean |