Šioje pamokoje sužinosime apie „Vector“ klasę ir kaip ją naudoti. Taip pat sužinosime, kuo jis skiriasi nuo „ArrayList“ klasės ir kodėl turėtume naudoti masyvų sąrašus.
Vector
Klasės yra iš įgyvendinimas List
sąsaja, kuri leidžia mums sukurti keičiamo dydžio matricos panašius į ArrayList klasėje.
„Java Vector“ ir „ArrayList“
Java, abu ArrayList
ir Vector
įgyvendina List
sąsaja ir teikia tas pačias funkcijas. Tačiau tarp jų yra tam tikrų skirtumų.
Vector
Klasė sinchronizuoja kiekvieną operaciją. Tai reiškia, kad kai tik norime atlikti tam tikrą vektorių operaciją, Vector
klasė šiai operacijai automatiškai taiko užraktą.
Taip yra todėl, kad kai viena gija prieina prie vektoriaus ir tuo pačiu metu kita gija bando prieiti prie jos, sukuriama išimtis, vadinama ConcurrentModificationException
. Taigi šis nuolatinis užrakto naudojimas kiekvienai operacijai vektorius daro mažiau efektyvius.
Tačiau masyvų sąrašuose metodai nėra sinchronizuojami. Vietoj to jis naudoja Collections.synchronizedList()
metodą, kuris sinchronizuoja sąrašą kaip visumą.
Pastaba: Rekomenduojama naudoti ArrayList
vietoje, Vector
nes vektoriai nėra saugūs siūlams ir yra mažiau efektyvūs.
Vektoriaus kūrimas
Štai kaip galime sukurti „Java“ vektorius.
Vector vector = new Vector();
Čia tipas nurodo susieto sąrašo tipą. Pavyzdžiui,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Vektoriaus metodai
Vector
Klasę taip pat teikia keičiamo dydžio-masyvo realizacijomis List
sąsaja (panašių į ArrayList
klasei). Kai kurie Vector
metodai yra šie:
Pridėti elementus prie vektoriaus
add(element)
- prideda elementą prie vektoriųadd(index, element)
- prideda elementą prie nurodytos pozicijosaddAll(vector)
- visus vektoriaus elementus prideda prie kito vektoriaus
Pavyzdžiui,
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); ) )
Rezultatas
Vektorius: (šuo, arklys, katė) naujas vektorius: (krokodilas, šuo, arklys, katė)
Prieiga prie vektorinių elementų
get(index)
- grąžina indekso nurodytą elementąiterator()
- grąžina iteratoriaus objektą nuosekliai pasiekti vektorinius elementus
Pavyzdžiui,
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(", "); ) ) )
Rezultatas
2 indekso elementas: Katės vektorius: šuo, arklys, katė,
Pašalinti vektorinius elementus
remove(index)
- pašalina elementą iš nurodytos padėtiesremoveAll()
- pašalina visus elementusclear()
- pašalina visus elementus. Tai efektyviau neiremoveAll()
Pavyzdžiui,
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); ) )
Rezultatas
Pradinis vektorius: (šuo, arklys, katė) pašalintas elementas: arklys naujas vektorius: (šuo, katė) vektorius po aiškios (): ()
Kiti vektoriniai metodai
Metodai | Aprašymai |
---|---|
set() | keičia vektoriaus elementą |
size() | pateikia vektoriaus dydį |
toArray() | paverčia vektorių į masyvą |
toString() | paverčia vektorių į stygą |
contains() | ieško vektoriaus nurodytam elementui ir pateikia loginį rezultatą |