Java Vector (med eksempler)

I denne veiledningen vil vi lære om Vector-klassen og hvordan du bruker den. Vi vil også lære hvordan det er forskjellig fra ArrayList-klassen, og hvorfor vi i stedet bør bruke array-lister.

Den Vectorklassen er en implementering av Listgrensesnitt som tillater oss å lage endre størrelsen-arrays ligner på Arraylist-klassen.

Java Vector vs. ArrayList

I Java, både ArrayListog Vectorimplementerer Listgrensesnitt og gir samme funksjonalitet. Imidlertid er det noen forskjeller mellom dem.

Den Vectorklasse synkroniserer de aktuelle driftsforhold. Dette betyr at når vi vil utføre noen operasjoner på vektorer, bruker Vectorklassen automatisk en lås på den operasjonen.

Det er fordi når en tråd har tilgang til en vektor, og samtidig en annen tråd prøver å få tilgang til den, ConcurrentModificationExceptiongenereres et unntak som heter . Derfor gjør denne kontinuerlige bruken av lås for hver operasjon vektorer mindre effektive.

Imidlertid synkroniseres ikke metodene i matrilister. I stedet bruker den Collections.synchronizedList()metoden som synkroniserer listen som en helhet.

Merk: Det anbefales å bruke ArrayListi stedet for Vectorfordi vektorer ikke er trådsikre og er mindre effektive.

Lage en vektor

Slik kan vi lage vektorer i Java.

 Vector vector = new Vector(); 

Her angir Type typen av en koblet liste. For eksempel,

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

Metoder for vektor

Den Vectorklasse gir også skalerbar-array-implementeringer av Listgrensesnittet (tilsvarende til den ArrayListklasse). Noen av Vectormetodene er:

Legg til elementer i Vector

  • add(element) - legger til et element i vektorene
  • add(index, element) - legger til et element i den angitte posisjonen
  • addAll(vector) - legger til alle elementene i en vektor til en annen vektor

For eksempel,

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

Produksjon

 Vektor: (Hund, hest, katt) Ny vektor: (krokodille, hund, hest, katt) 

Få tilgang til vektorelementer

  • get(index) - returnerer et element spesifisert av indeksen
  • iterator() - returnerer et iteratorobjekt for sekvensielt å få tilgang til vektorelementer

For eksempel,

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

Produksjon

 Element ved indeks 2: Kattvektor: Hund, hest, katt, 

Fjern Vector Elements

  • remove(index) - fjerner et element fra spesifisert posisjon
  • removeAll() - fjerner alle elementene
  • clear()- fjerner alle elementene. Det er mer effektivt ennremoveAll()

For eksempel,

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

Produksjon

 Innledende vektor: (Hund, hest, katt) Fjernet element: hest Ny vektor: (hund, katt) Vektor etter klar (): () 

Andre vektormetoder

Metoder Beskrivelser
set() endrer et element i vektoren
size() returnerer størrelsen på vektoren
toArray() konverterer vektoren til en matrise
toString() konverterer vektoren til en streng
contains() søker i vektoren etter spesifisert element og returnerer et boolsk resultat

Interessante artikler...