Java Vector (cu exemple)

Î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.

VectorClasa este o implementare a Listinterfeței , care ne permite să creați redimensionabile-matrice similare cu clasa ArrayList.

Java Vector vs. ArrayList

În Java, ambele ArrayListși Vectorimplementează Listinterfața și oferă aceleași funcționalități. Cu toate acestea, există unele diferențe între ele.

VectorClasa sincronizeaza fiecare operațiune în parte. Aceasta înseamnă că ori de câte ori dorim să efectuăm o anumită operație pe vectori, Vectorclasa 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, ConcurrentModificationExceptionse 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 Vectordeoarece 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

VectorClasa oferă , de asemenea implementari resizable-matrice ale Listinterfeței (similar cu ArrayListclasa). Unele dintre Vectormetode sunt:

Adăugați elemente la Vector

  • add(element) - adaugă un element vectorilor
  • add(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 index
  • iterator() - 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 elementele
  • clear()- 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

Articole interesante...