Java Vector (med eksempler)

I denne vejledning lærer vi om Vector-klassen, og hvordan man bruger den. Vi lærer også, hvordan det adskiller sig fra ArrayList-klassen, og hvorfor vi i stedet skal bruge arraylister.

Den Vectorklasse er en implementering af den Listgrænseflade, der giver os mulighed for at skabe resizable-arrays svarende til ArrayList klassen.

Java Vector vs. ArrayList

I Java både ArrayListog Vectorimplementerer Listgrænsefladen og giver de samme funktioner. Der er dog nogle forskelle mellem dem.

Den Vectorklasse synkroniserer hver enkelt operation. Dette betyder, at når vi vil udføre nogle operationer på vektorer, anvender Vectorklassen automatisk en lås til denne operation.

Det er fordi, når en tråd har adgang til en vektor, og samtidig en anden tråd forsøger at få adgang til den, ConcurrentModificationExceptiongenereres en undtagelse kaldet . Derfor gør denne kontinuerlige brug af lås til hver operation vektorer mindre effektive.

I matrixlister synkroniseres metoder imidlertid ikke. I stedet bruger den Collections.synchronizedList()metoden, der synkroniserer listen som en helhed.

Bemærk: Det anbefales at bruge ArrayListi stedet for, Vectorfordi vektorer ikke er trådsikre og er mindre effektive.

Oprettelse af en vektor

Her er hvordan vi kan oprette vektorer i Java.

 Vector vector = new Vector(); 

Her angiver Type typen af ​​en linket liste. For eksempel,

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

Metoder til vektor

Den Vectorklasse giver også resizable-array-implementeringer af Listgrænsefladen (svarende til ArrayListklasse). Nogle af Vectormetoderne er:

Føj elementer til Vector

  • add(element) - tilføjer et element til vektorer
  • add(index, element) - tilføjer et element til den angivne position
  • addAll(vector) - tilføjer alle elementerne i en vektor til en anden 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); ) ) 

Produktion

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

Adgang til vektorelementer

  • get(index) - returnerer et element, der er angivet af indekset
  • iterator() - returnerer et iteratorobjekt for sekventielt at få adgang 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(", "); ) ) ) 

Produktion

 Element ved indeks 2: Katvektor: Hund, hest, kat, 

Fjern vektorelementer

  • remove(index) - fjerner et element fra den angivne position
  • removeAll() - fjerner alle elementerne
  • clear()- fjerner alle elementer. Det er mere effektivt endremoveAll()

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

Produktion

 Oprindelig vektor: (Hund, hest, kat) Fjernet element: hest Ny vektor: (hund, kat) Vektor efter klar (): () 

Andre vektormetoder

Metoder Beskrivelser
set() ændrer et element i vektoren
size() returnerer vektorens størrelse
toArray() konverterer vektoren til en matrix
toString() konverterer vektoren til en streng
contains() søger i vektoren efter det angivne element og returnerer et boolsk resultat

Interessante artikler...