Java Vector (met voorbeelden)

In deze zelfstudie leren we over de klasse Vector en hoe deze te gebruiken. We zullen ook leren hoe deze verschilt van de klasse ArrayList en waarom we in plaats daarvan arraylijsten moeten gebruiken.

De Vectorklasse is een implementatie van de Listinterface waarmee we resizable-arrays kunnen maken die lijken op de klasse ArrayList.

Java-vector versus ArrayList

In Java, beide ArrayListen Vectorimplementeert de Listinterface en biedt dezelfde functionaliteiten. Er zijn echter enkele verschillen tussen beide.

De Vectorklas synchroniseert elke afzonderlijke bewerking. Dit betekent dat wanneer we een bewerking op vectoren willen uitvoeren, de Vectorklasse automatisch een vergrendeling op die bewerking toepast.

Het is omdat wanneer een thread een vector benadert en tegelijkertijd een andere thread probeert toegang te krijgen, er een geroepen uitzondering ConcurrentModificationExceptionwordt gegenereerd. Daarom maakt dit continue gebruik van vergrendeling voor elke bewerking vectoren minder efficiënt.

In arraylijsten worden methoden echter niet gesynchroniseerd. In plaats daarvan gebruikt het de Collections.synchronizedList()methode die de lijst als geheel synchroniseert.

Opmerking: het wordt aanbevolen om te gebruiken ArrayListin plaats van, Vectoromdat vectoren niet threadsafe en minder efficiënt zijn.

Een vector maken

Hier is hoe we vectoren in Java kunnen maken.

 Vector vector = new Vector(); 

Hier geeft Type het type aan van een gekoppelde lijst. Bijvoorbeeld,

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

Methoden van Vector

De Vectorklasse biedt ook de realiseerbare array-implementaties van de Listinterface (vergelijkbaar met de ArrayListklasse). Enkele van de Vectormethoden zijn:

Voeg elementen toe aan vector

  • add(element) - voegt een element toe aan vectoren
  • add(index, element) - voegt een element toe aan de opgegeven positie
  • addAll(vector) - voegt alle elementen van een vector toe aan een andere vector

Bijvoorbeeld,

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

Uitvoer

 Vector: (hond, paard, kat) Nieuwe vector: (krokodil, hond, paard, kat) 

Toegang tot vectorelementen

  • get(index) - retourneert een element gespecificeerd door de index
  • iterator() - geeft een iteratorobject terug om sequentieel toegang te krijgen tot vectorelementen

Bijvoorbeeld,

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

Uitvoer

 Element bij index 2: Cat Vector: Dog, Horse, Cat, 

Verwijder vectorelementen

  • remove(index) - verwijdert een element van een opgegeven positie
  • removeAll() - verwijdert alle elementen
  • clear()- verwijdert alle elementen. Het is efficiënter danremoveAll()

Bijvoorbeeld,

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

Uitvoer

 Initiële vector: (hond, paard, kat) Element verwijderd: paard Nieuwe vector: (hond, kat) Vector na wissen (): () 

Anderen vectormethoden

Methoden Beschrijvingen
set() verandert een element van de vector
size() geeft de grootte van de vector terug
toArray() converteert de vector naar een array
toString() converteert de vector naar een string
contains() zoekt in de vector naar het opgegeven element en retourneert een booleaans resultaat

Interessante artikelen...