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.
Vector
Klasa je implementacija List
sučelja koji omogućuje nam stvaranje podesive veličine-polja slične ArrayList klasi.
Java Vector nasuprot ArrayList
U Javi ArrayList
i Vector
implementira List
sučelje i pruža iste funkcionalnosti. Međutim, postoje neke razlike među njima.
Vector
Klasa sinkronizira svaku pojedinačnu operaciju. To znači da kad god želimo izvršiti neku operaciju na vektorima, Vector
klasa automatski primjenjuje zaključavanje na tu operaciju.
To je zato što kada jedna nit pristupa vektoru, a istodobno druga nit pokušava pristupiti njemu, ConcurrentModificationException
generira 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 ArrayList
umjesto Vector
jer 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
Vector
Razred također pruža promjenjive veličine-array implementacija List
sučelja (slične ArrayList
klase). Neke od Vector
metoda su:
Dodajte elemente u vektor
add(element)
- dodaje element vektorimaadd(index, element)
- dodaje element na navedenu pozicijuaddAll(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 indeksomiterator()
- 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žajaremoveAll()
- uklanja sve elementeclear()
- 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 |