Tässä opetusohjelmassa opit Vector-luokasta ja sen käytöstä. Opimme myös, miten se eroaa ArrayList-luokasta ja miksi meidän pitäisi käyttää taulukkoa sen sijaan.
Vector
Luokka on täytäntöönpano List
käyttöliittymä, jonka avulla voimme luoda skaalautuvia-paneelit samanlainen ArrayList luokka.
Java Vector vs. ArrayList
Java sekä ArrayList
ja Vector
toteuttaa List
käyttöliittymä ja tarjoaa samat toiminnot. Niiden välillä on kuitenkin joitain eroja.
Vector
Luokan synkronoi yksittäisen toiminnon. Tämä tarkoittaa sitä, että aina kun haluamme suorittaa jonkin toiminnon vektoreilla, Vector
luokka käyttää automaattisesti lukituksen tähän toimintoon.
Se johtuu siitä, että kun yksi ketju on käsillä vektoria ja samalla toinen säike yrittää käyttää sitä, syntyy nimetty poikkeus ConcurrentModificationException
. Siksi tämä lukituksen jatkuva käyttö kullekin operaatiolle tekee vektoreista vähemmän tehokkaita.
Matriisiluetteloissa menetelmiä ei kuitenkaan synkronoida. Sen sijaan se käyttää Collections.synchronizedList()
menetelmää, joka synkronoi luettelon kokonaisuutena.
Huomautus: On suositeltavaa käyttää ArrayList
sen sijaan, Vector
että vektorit eivät ole turvallisia ja vähemmän tehokkaita.
Vektorin luominen
Näin voimme luoda vektoreita Java: ssa.
Vector vector = new Vector();
Tässä tyyppi ilmoittaa linkitetyn luettelon tyypin. Esimerkiksi,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Vektorin menetelmät
Vector
Luokka tarjoaa myös skaalautuvia array toteutuksissa List
käyttöliittymä (samanlainen ArrayList
luokka). Jotkut Vector
menetelmistä ovat:
Lisää elementtejä vektoriin
add(element)
- lisää elementin vektoreihinadd(index, element)
- lisää elementin määritettyyn sijaintiinaddAll(vector)
- lisää vektorin kaikki elementit toiseen vektoriin
Esimerkiksi,
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); ) )
Tuotos
Vektori: (Koira, Hevonen, Kissa) Uusi Vektori: (Krokotiili, Koira, Hevonen, Kissa)
Käytä vektorielementtejä
get(index)
- palauttaa indeksin määrittelemän elementiniterator()
- palauttaa iteraattoriobjektin pääsemään vektorielementteihin peräkkäin
Esimerkiksi,
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(", "); ) ) )
Tuotos
Hakemiston 2 osa: Kissavektori: Koira, Hevonen, Kissa,
Poista vektorielementit
remove(index)
- poistaa elementin määritetystä sijainnistaremoveAll()
- poistaa kaikki elementitclear()
- poistaa kaikki elementit. Se on tehokkaampaa kuinremoveAll()
Esimerkiksi,
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); ) )
Tuotos
Alkuperäinen vektori: (koira, hevonen, kissa) poistettu elementti: hevonen Uusi vektori: (koira, kissa) vektori selkeän (): () jälkeen
Muut vektorimenetelmät
Menetelmät | Kuvaukset |
---|---|
set() | muuttaa vektorin elementin |
size() | palauttaa vektorin koon |
toArray() | muuntaa vektorin taulukoksi |
toString() | muuntaa vektorin merkkijonoksi |
contains() | etsii vektorista määritetyn elementin ja palauttaa loogisen tuloksen |