V tej vadnici bomo spoznali razred Vector in kako ga uporabljati. Spoznali bomo tudi, kako se razlikuje od razreda ArrayList in zakaj bi morali namesto tega uporabljati sezname matrike.
Vector
Razred je izvedba List
vmesnika, ki nam omogoča, da ustvarite raztegljivo-nize podobne razred ArrayList.
Java Vector proti ArrayList
V Javi oba ArrayList
in Vector
izvaja List
vmesnik in zagotavlja enake funkcije. Vendar obstajajo nekatere razlike med njimi.
Vector
Razred sinhronizira vsako posamezno operacijo. To pomeni, da kadar koli želimo izvesti neko operacijo na vektorjih, Vector
razred samodejno uporabi zaklepanje za to operacijo.
Ko ena nit dostopa do vektorja in hkrati druga nit poskuša dostopati do nje, se ustvari izjema, imenovana ConcurrentModificationException
. Tako neprekinjena uporaba ključavnice za vsako operacijo naredi vektorje manj učinkovite.
Vendar pa na seznamih nizov metode niso sinhronizirane. Namesto tega uporablja Collections.synchronizedList()
metodo, ki sinhronizira seznam kot celoto.
Opomba: Priporočljivo je, da jih uporabite ArrayList
namesto, Vector
ker vektorji niso varni z nitmi in so manj učinkoviti.
Ustvarjanje vektorja
Tukaj je opisano, kako lahko v Javi ustvarimo vektorje.
Vector vector = new Vector();
Tu Tip označuje vrsto povezanega seznama. Na primer
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Metode vektorja
Vector
Razred določa tudi raztegljivo-nizov izvedb se na List
vmesnik (podobno kot v ArrayList
razredu). Nekatere Vector
metode so:
Dodajte elemente v vektor
add(element)
- doda element vektorjemadd(index, element)
- doda element na določen položajaddAll(vector)
- doda vse elemente vektorja drugemu vektorju
Na primer
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); ) )
Izhod
Vektor: (pes, konj, mačka) Novo vektor: (krokodil, pes, konj, mačka)
Dostopajte do elementov Vector
get(index)
- vrne element, ki ga določa indeksiterator()
- vrne predmet iteratorja za zaporedni dostop do vektorskih elementov
Na primer
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(", "); ) ) )
Izhod
Element v indeksu 2: mačji vektor: pes, konj, mačka,
Odstranite vektorske elemente
remove(index)
- odstrani element iz določenega položajaremoveAll()
- odstrani vse elementeclear()
- odstrani vse elemente. Je bolj učinkovit kotremoveAll()
Na primer
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); ) )
Izhod
Začetni vektor: (pes, konj, mačka) Odstranjen element: konj Nov vektor: (pes, mačka) Vektor po jasnem (): ()
Drugi vektorske metode
Metode | Opisi |
---|---|
set() | spremeni element vektorja |
size() | vrne velikost vektorja |
toArray() | pretvori vektor v matriko |
toString() | pretvori vektor v niz |
contains() | išče vektor za navedeni element in vrne logični rezultat |