„Java Vector“ (su pavyzdžiais)

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

VectorKlasės yra iš įgyvendinimas Listsąsaja, kuri leidžia mums sukurti keičiamo dydžio matricos panašius į ArrayList klasėje.

„Java Vector“ ir „ArrayList“

Java, abu ArrayListir Vectorįgyvendina Listsąsaja ir teikia tas pačias funkcijas. Tačiau tarp jų yra tam tikrų skirtumų.

VectorKlasė sinchronizuoja kiekvieną operaciją. Tai reiškia, kad kai tik norime atlikti tam tikrą vektorių operaciją, Vectorklasė š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 ArrayListvietoje, Vectornes 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

VectorKlasę taip pat teikia keičiamo dydžio-masyvo realizacijomis Listsąsaja (panašių į ArrayListklasei). Kai kurie Vectormetodai yra šie:

Pridėti elementus prie vektoriaus

  • add(element) - prideda elementą prie vektorių
  • add(index, element) - prideda elementą prie nurodytos pozicijos
  • addAll(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ėties
  • removeAll() - pašalina visus elementus
  • clear()- 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ą

Įdomios straipsniai...