Java Vector (s primjerima)

U ovom uputstvu naučit ćemo o klasi Vector i kako je koristiti. Također ćemo naučiti kako se razlikuje od klase ArrayList i zašto bismo umjesto toga trebali koristiti popise nizova.

VectorKlasa je implementacija Listsučelja koji omogućuje nam stvaranje podesive veličine-polja slične ArrayList klasi.

Java Vector nasuprot ArrayList

U Javi ArrayListi Vectorimplementira Listsučelje i pruža iste funkcionalnosti. Međutim, postoje neke razlike među njima.

VectorKlasa sinkronizira svaku pojedinačnu operaciju. To znači da kad god želimo izvršiti neku operaciju na vektorima, Vectorklasa automatski primjenjuje zaključavanje na tu operaciju.

To je zato što kada jedna nit pristupa vektoru, a istodobno druga nit pokušava pristupiti njemu, ConcurrentModificationExceptiongenerira se iznimka tzv . Stoga ova neprekidna uporaba zaključavanja za svaku operaciju čini vektore manje učinkovitima.

Međutim, na popisima polja metode se ne sinkroniziraju. Umjesto toga, koristi Collections.synchronizedList()metodu koja sinkronizira popis u cjelini.

Napomena: preporuča se koristiti ArrayListumjesto Vectorjer vektori nisu sigurni u nitima i manje su učinkoviti.

Stvaranje vektora

Evo kako možemo stvoriti vektore u Javi.

 Vector vector = new Vector(); 

Ovdje Type označava vrstu povezanog popisa. Na primjer,

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

Metode vektora

VectorRazred također pruža promjenjive veličine-array implementacija Listsučelja (slične ArrayListklase). Neke od Vectormetoda su:

Dodajte elemente u vektor

  • add(element) - dodaje element vektorima
  • add(index, element) - dodaje element na navedenu poziciju
  • addAll(vector) - dodaje sve elemente vektora u drugi vektor

Na primjer,

 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); ) ) 

Izlaz

 Vektor: (Pas, Konj, Mačka) Novi vektor: (Krokodil, Pas, Konj, Mačka) 

Pristup vektorskim elementima

  • get(index) - vraća element naveden indeksom
  • iterator() - vraća objekt iteratora za sekvencijalni pristup vektorskim elementima

Na primjer,

 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(", "); ) ) ) 

Izlaz

 Element u indeksu 2: Vektor mačke: pas, konj, mačka, 

Uklonite vektorske elemente

  • remove(index) - uklanja element iz navedenog položaja
  • removeAll() - uklanja sve elemente
  • clear()- uklanja sve elemente. Učinkovitiji je odremoveAll()

Na primjer,

 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); ) ) 

Izlaz

 Inicijalni vektor: (pas, konj, mačka) Uklonjeni element: konj Novi vektor: (pas, mačka) Vektor nakon brisanja (): () 

Drugi Vektorske metode

Metode Opisi
set() mijenja element vektora
size() vraća veličinu vektora
toArray() pretvara vektor u niz
toString() pretvara vektor u niz
contains() pretražuje vektor za navedeni element i vraća logički rezultat

Zanimljivi članci...