Java Vector (med exempel)

I denna handledning lär vi oss om Vector-klassen och hur man använder den. Vi kommer också att lära oss hur det skiljer sig från ArrayList-klassen och varför vi istället ska använda arraylistor.

Den Vectorklassen är en implementation av Listgränssnitt som tillåter oss att skapa resizable-arrayer liknar Arraylist klass.

Java Vector vs. ArrayList

I Java, både ArrayListoch Vectorimplementerar Listgränssnitt och ger samma funktioner. Det finns dock vissa skillnader mellan dem.

Den Vectorklass synkroniserar varje enskild transaktion. Det betyder att när vi vill utföra vissa operationer på vektorer Vectoranvänder klassen automatiskt ett lås på den operationen.

Det beror på att när en tråd har åtkomst till en vektor, och samtidigt en annan tråd försöker komma åt den, ConcurrentModificationExceptiongenereras ett undantag som kallas . Följaktligen gör denna kontinuerliga användning av lås för varje operation vektorer mindre effektiva.

I array-listor synkroniseras dock inte metoder. Istället använder den Collections.synchronizedList()metoden som synkroniserar listan som helhet.

Obs! Det rekommenderas att använda ArrayLististället för Vectoreftersom vektorer inte är trådsäkra och mindre effektiva.

Skapa en vektor

Så här kan vi skapa vektorer i Java.

 Vector vector = new Vector(); 

Här anger typ typen av en länkad lista. Till exempel,

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

Metoder för vektor

Den Vectorklass tillhandahåller också de resizable-array implementeringar av Listgränssnitt (liknande den ArrayListklass). Några av Vectormetoderna är:

Lägg till element i Vector

  • add(element) - lägger till ett element i vektorer
  • add(index, element) - lägger till ett element till den angivna positionen
  • addAll(vector) - lägger till alla element i en vektor till en annan vektor

Till exempel,

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

Produktion

 Vektor: (Hund, häst, katt) Ny vektor: (krokodil, hund, häst, katt) 

Åtkomst till vektorelement

  • get(index) - returnerar ett element som anges av indexet
  • iterator() - returnerar ett iteratorobjekt för sekventiell åtkomst till vektorelement

Till exempel,

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

Produktion

 Element vid index 2: kattvektor: hund, häst, katt, 

Ta bort vektorelement

  • remove(index) - tar bort ett element från angiven position
  • removeAll() - tar bort alla element
  • clear()- tar bort alla element. Det är mer effektivt änremoveAll()

Till exempel,

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

Produktion

 Ursprunglig vektor: (Hund, häst, katt) Borttaget element: Häst Ny vektor: (Hund, katt) Vektor efter klar (): () 

Andra vektormetoder

Metoder Beskrivningar
set() ändrar ett element i vektorn
size() returnerar storleken på vektorn
toArray() konverterar vektorn till en matris
toString() konverterar vektorn till en sträng
contains() söker i vektorn efter angivet element och returnerar ett booleskt resultat

Intressanta artiklar...