Java vektor (példákkal)

Ebben az oktatóanyagban megismerhetjük a Vector osztályt és annak használatát. Megtudjuk azt is, hogy miben különbözik az ArrayList osztálytól, és miért kellene inkább tömblistákat használni.

Az Vectorosztály a Listfelület megvalósítása, amely lehetővé teszi az ArrayList osztályhoz hasonló átméretezhető tömbök létrehozását.

Java Vector vs. ArrayList

A Java-ban mindkettő, ArrayListés Vectormegvalósítja az Listinterfészt, és ugyanazokat a funkciókat biztosítja. Vannak azonban különbségek közöttük.

Az Vectorosztály szinkronizálja az egyes műveleteket. Ez azt jelenti, hogy amikor valamilyen műveletet akarunk végrehajtani a vektorokon, az Vectorosztály automatikusan zárat alkalmaz erre a műveletre.

Ez azért van, mert amikor egy szál hozzáfér egy vektorhoz, és egy másik szál megpróbálja elérni azt, akkor egy úgynevezett kivétel ConcurrentModificationExceptionjön létre. Ennélfogva a zár folyamatos használata minden műveletnél kevésbé hatékonyabbá teszi a vektorokat.

A tömblistákban azonban a módszerek nincsenek szinkronizálva. Ehelyett azt a Collections.synchronizedList()módszert használja, amely szinkronizálja a lista egészét.

Megjegyzés: Azért ajánlott használni ArrayList, Vectormert a vektorok nem biztonságosak és kevésbé hatékonyak.

Vektor létrehozása

Így hozhatunk létre vektorokat a Java-ban.

 Vector vector = new Vector(); 

A Type itt a csatolt lista típusát jelöli. Például,

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

A vektor módszerei

Az Vectorosztály biztosítja az Listinterfész átméretezhető tömb megvalósítását is (hasonlóan az ArrayListosztályhoz). Néhány Vectormódszer a következő:

Elemek hozzáadása a vektorhoz

  • add(element) - hozzáad egy elemet a vektorokhoz
  • add(index, element) - hozzáad egy elemet a megadott pozícióhoz
  • addAll(vector) - a vektor összes elemét hozzáadja egy másik vektorhoz

Például,

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

Kimenet

 Vektor: (kutya, ló, macska) új vektor: (krokodil, kutya, ló, macska) 

Hozzáférés a vektor elemekhez

  • get(index) - az index által megadott elemet adja vissza
  • iterator() - egy iterátor objektumot ad vissza a vektor elemek egymás utáni eléréséhez

Például,

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

Kimenet

 Elem a 2. indexen: Macska vektor: Kutya, Ló, Macska, 

Távolítsa el a vektor elemeket

  • remove(index) - eltávolít egy elemet a megadott pozícióból
  • removeAll() - eltávolítja az összes elemet
  • clear()- eltávolít minden elemet. Hatékonyabb, mintremoveAll()

Például,

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

Kimenet

 Kezdő vektor: (Kutya, Ló, Macska) Eltávolított Elem: Ló Új Vektor: (Kutya, Macska) Vektor tiszta (): () után 

Egyéb vektoros módszerek

Mód Leírások
set() megváltoztatja a vektor egy elemét
size() visszaadja a vektor méretét
toArray() a vektort tömbgé alakítja
toString() a vektort String-vé alakítja
contains() a vektorban megkeresi a megadott elemet, és logikai eredményt ad vissza

érdekes cikkek...