Java vektor (koos näidetega)

Selles õpetuses õpime tundma Vector klassi ja selle kasutamist. Samuti õpime, kuidas see erineb klassist ArrayList ja miks peaksime selle asemel massiivide loendeid kasutama.

VectorKlassi on rakendamise Listliides, mis võimaldab meil luua muudetava suurusega-massiivid sarnane ArrayList klassi.

Java Vector vs ArrayList

Java-s mõlemad rakendavad ArrayListja Vectorrakendavad Listliidest ning pakuvad samu funktsioone. Nende vahel on siiski mõningaid erinevusi.

VectorKlassi sünkroniseerib iga operatsiooni. See tähendab, et alati, kui tahame vektoritega mõnda toimingut sooritada, Vectorrakendab klass sellele toimingule automaatselt luku.

Selle põhjuseks on see, et kui üks lõime on ligipääs vektorile ja samal ajal proovib teine ​​niit sellele juurde pääseda, luuakse nimega erand ConcurrentModificationException. Seega muudab lukkude pidev kasutamine iga toimingu puhul vektorite vähem efektiivseks.

Massiiviloendites pole meetodeid siiski sünkroonitud. Selle asemel kasutab Collections.synchronizedList()see loendi tervikuna sünkroonivat meetodit.

Märkus. Soovitatav on kasutada ArrayListselle asemel, Vectoret vektorid pole niiditurvalised ja vähem efektiivsed.

Vektori loomine

Nii saame Java-s vektoreid luua.

 Vector vector = new Vector(); 

Siin näitab tüüp lingitud loendi tüüpi. Näiteks,

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

Vektorite meetodid

VectorTasemega esitab ka muudetava suurusega-massiivi rakendustega Listpesaga (sarnaselt ArrayListklass). Mõned Vectormeetodid on:

Lisage elemendid vektorisse

  • add(element) - lisab vektoritele elemendi
  • add(index, element) - lisab määratud kohale elemendi
  • addAll(vector) - lisab vektori kõik elemendid teisele vektorile

Näiteks,

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

Väljund

 Vektor: (koer, hobune, kass) uus vektor: (krokodill, koer, hobune, kass) 

Juurdepääs vektorelementidele

  • get(index) - tagastab indeksi määratud elemendi
  • iterator() - tagastab iteraatori objekti järjestikuse juurdepääsu vektorelementidele

Näiteks,

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

Väljund

 2. indeksi element: kassi vektor: koer, hobune, kass, 

Eemaldage vektorelemendid

  • remove(index) - eemaldab elemendi määratud positsioonilt
  • removeAll() - eemaldab kõik elemendid
  • clear()- eemaldab kõik elemendid. See on tõhusam kuiremoveAll()

Näiteks,

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

Väljund

 Esialgne vektor: (koer, hobune, kass) eemaldatud element: hobune uus vektor: (koer, kass) vektor pärast selget (): () 

Teised vektormeetodid

Meetodid Kirjeldused
set() muudab vektori elementi
size() tagastab vektori suuruse
toArray() teisendab vektori massiiviks
toString() teisendab vektori stringiks
contains() otsib vektorist määratud elementi ja tagastab tõeväärtuse tulemuse

Huvitavad Artiklid...