Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> Java

Java Vector begrijpen: Gebruik, Kenmerken en Vergelijking met ArrayList

Java Vector begrijpen

Deze handleiding legt de Java Vector-klasse uit, de belangrijkste methoden en hoe deze verschilt van ArrayList. Leer wanneer je Vector kiest voor thread-veiligheid en prestatieoverwegingen.

De Vector-klasse implementeert de List-interface en biedt een vergrootbaar array, vergelijkbaar met ArrayList. In tegenstelling tot ArrayList is elke muterende operatie op een Vector gesynchroniseerd, wat het inherent thread-veilig maakt, maar potentieller trager in single-threaded contexten.


Java Vector vs. ArrayList

Zowel ArrayList als Vector bieden dynamische arrays, maar ze verschillen in concurrentie-afhandeling:

  • Vector synchroniseert elke methode-aanroep, waarbij een lock op de instantie wordt verkregen vóór uitvoering.
  • ArrayList is standaard niet gesynchroniseerd; thread-veiligheid kan worden toegevoegd met Collections.synchronizedList() indien nodig.

Vanwege de per-operatie lock kan Vector overhead opleveren in multi-threaded omgevingen, terwijl ArrayList meestal betere prestaties biedt wanneer thread-veiligheid niet vereist is.

Tip: Kies ArrayList voor de meeste toepassingen. Gebruik Vector alleen wanneer legacy-code dit vereist of wanneer je ingebouwde synchronisatie zonder extra wrappers nodig hebt.


Een Vector aanmaken

Je kunt een Vector instantiëren met een generieke type:

Vector<Type> vector = new Vector<>();

Voorbeelden:

// Integer vector Vector<Integer> numbers = new Vector<>(); // String vector Vector<String> words = new Vector<>();

Belangrijkste methoden van Vector

De Vector-klasse biedt een complete set lijstoperaties, die ArrayList spiegelen. Enkele veelgebruikte methoden zijn:

  • add(E element) – voegt een element toe aan het einde.
  • add(int index, E element) – voegt in op een specifieke positie.
  • addAll(Collection<? extends E> c) – voegt meerdere elementen toe.
  • get(int index) – haalt element op index op.
  • remove(int index) – verwijdert element op index.
  • clear() – verwijdert alle elementen.
  • size() – huidige aantal elementen.
  • contains(Object o) – controleert op aanwezigheid.
  • toArray() – converteert naar array.
  • toString() – string-representatie.
  • set(int index, E element) – vervangt element op index.

Elementen toevoegen aan een Vector

  • add(element) – voegt het element toe aan het einde.
  • add(index, element) – voegt in op een specifieke index.
  • addAll(vector) – voegt alle elementen uit een andere vector toe.

Voorbeeld:

import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> mammals = new Vector<>(); mammals.add("Dog"); mammals.add("Horse"); mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); Vector<String> animals = new Vector<>(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("Nieuwe Vector: " + animals); } }

Output

Vector: [Dog, Horse, Cat] Nieuwe Vector: [Crocodile, Dog, Horse, Cat]

Toegang tot Vector-elementen

  • get(index) – haalt element op index op.
  • iterator() – verkrijgt een iterator voor sequentiële toegang.

Voorbeeld:

import java.util.Iterator; import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> animals = new Vector<>(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); String element = animals.get(2); System.out.println("Element op index 2: " + element); Iterator<String> iter = animals.iterator(); System.out.print("Vector: "); while(iter.hasNext()) { System.out.print(iter.next() + ", "); } } }

Output

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

Elementen verwijderen uit een Vector

  • remove(index) – verwijdert het element op de opgegeven positie.
  • clear() – verwijdert efficiënt alle elementen.

Voorbeeld:

import java.util.Vector; class Main { public static void main(String[] args) { Vector<String> animals = new Vector<>(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initiële Vector: " + animals); String removed = animals.remove(1); System.out.println("Verwijderd element: " + removed); System.out.println("Nieuwe Vector: " + animals); animals.clear(); System.out.println("Vector na clear(): " + animals); } }

Output

Initiële Vector: [Dog, Horse, Cat] Verwijderd element: Horse Nieuwe Vector: [Dog, Cat] Vector na clear(): []

Aanvullende Vector-methoden

MethodeBeschrijving
set(int index, E element)Vervangt het element op de opgegeven positie.
size()Geeft het aantal elementen terug.
toArray()Converteert de inhoud naar een array.
toString()String-representatie van de vector.
contains(Object o)Controleert of de vector het opgegeven element bevat.

Java

  1. Java-operators beheersen: typen, syntax en praktische voorbeelden
  2. Java-commentaar: typen, gebruik en best practices
  3. Java if…else beheersen: control flow uitgelegd
  4. Java Enhanced For-lus beheersen: syntax, voorbeelden en best practices
  5. Java Strings beheersen: aanmaken, methodes en best practices
  6. Java interfaces meesteren: concepten, implementatie en best practices
  7. Java anonieme inner classes meesteren: definitie, syntax en praktische voorbeelden
  8. Java Try-with-resources meesteren: automatische resource management uitgelegd
  9. Java Annotaties uitgelegd: typen, plaatsing en praktische voorbeelden
  10. Java Assertions: een praktische gids voor bugdetectie en codebetrouwbaarheid
  11. Java 8: Uitgebreide Quick Reference Gids