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 vectorenadd(index, element)- voegt een element toe aan de opgegeven positieaddAll(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 indexiterator()- 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 positieremoveAll()- verwijdert alle elementenclear()- 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 |








