Vektor Java (s příklady)

V tomto kurzu se dozvíme o třídě Vector a o tom, jak ji používat. Dozvíme se také, jak se liší od třídy ArrayList a proč bychom místo toho měli používat seznamy polí.

VectorTřída je implementace Listrozhraní, které nám umožňuje vytvořit měnit velikost-pole podobné třídy ArrayList.

Java Vector vs. ArrayList

V Javě, jak ArrayLista Vectorimplementuje Listrozhraní a poskytuje stejné funkce. Existují však mezi nimi určité rozdíly.

VectorTřída synchronizuje jednotlivé operace. To znamená, že kdykoli chceme provést nějakou operaci na vektorech, Vectortřída na tuto operaci automaticky použije zámek.

Je to proto, že když jedno vlákno přistupuje k vektoru a současně se k němu pokouší přístup další vlákno, ConcurrentModificationExceptionje generována výjimka s názvem . Proto toto nepřetržité používání zámku pro každou operaci snižuje účinnost vektorů.

V seznamech polí však nejsou metody synchronizovány. Místo toho používá Collections.synchronizedList()metodu, která synchronizuje seznam jako celek.

Poznámka: Doporučuje se používat ArrayListmísto toho, Vectorprotože vektory nejsou bezpečné pro vlákna a jsou méně účinné.

Vytvoření vektoru

Takto můžeme v Javě vytvářet vektory.

 Vector vector = new Vector(); 

Zde Type označuje typ propojeného seznamu. Například,

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

Metody vektoru

VectorTřída také poskytuje implementace měnit velikost-pole na Listrozhraní (podobné ArrayListskupiny). Některé z těchto Vectormetod jsou:

Přidat prvky do vektoru

  • add(element) - přidá prvek do vektorů
  • add(index, element) - přidá prvek na zadanou pozici
  • addAll(vector) - přidá všechny prvky vektoru do jiného vektoru

Například,

 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ýstup

 Vektor: (pes, kůň, kočka) Nový vektor: (krokodýl, pes, kůň, kočka) 

Přístup k vektorovým prvkům

  • get(index) - vrací prvek určený indexem
  • iterator() - vrátí objekt iterátoru k sekvenčnímu přístupu k vektorovým prvkům

Například,

 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ýstup

 Prvek v indexu 2: Vektor kočky: Pes, Kůň, Kočka, 

Odebrat vektorové prvky

  • remove(index) - odebere prvek ze zadané polohy
  • removeAll() - odstraní všechny prvky
  • clear()- odstraní všechny prvky. Je to efektivnější nežremoveAll()

Například,

 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ýstup

 Počáteční vektor: (pes, kůň, kočka) Odstraněný prvek: kůň Nový vektor: (pes, kočka) Vektor po vymazání (): () 

Jiné vektorové metody

Metody Popisy
set() změní prvek vektoru
size() vrací velikost vektoru
toArray() převede vektor na pole
toString() převede vektor na String
contains() prohledá vektor pro zadaný prvek a vrátí logický výsledek

Zajímavé články...