Java-vektori (esimerkkejä)

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.

VectorLuokka on täytäntöönpano Listkäyttöliittymä, jonka avulla voimme luoda skaalautuvia-paneelit samanlainen ArrayList luokka.

Java Vector vs. ArrayList

Java sekä ArrayListja Vectortoteuttaa Listkäyttöliittymä ja tarjoaa samat toiminnot. Niiden välillä on kuitenkin joitain eroja.

VectorLuokan synkronoi yksittäisen toiminnon. Tämä tarkoittaa sitä, että aina kun haluamme suorittaa jonkin toiminnon vektoreilla, Vectorluokka 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ää ArrayListsen sijaan, Vectorettä 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

VectorLuokka tarjoaa myös skaalautuvia array toteutuksissa Listkäyttöliittymä (samanlainen ArrayListluokka). Jotkut Vectormenetelmistä ovat:

Lisää elementtejä vektoriin

  • add(element) - lisää elementin vektoreihin
  • add(index, element) - lisää elementin määritettyyn sijaintiin
  • addAll(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 elementin
  • iterator() - 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ä sijainnista
  • removeAll() - poistaa kaikki elementit
  • clear()- 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

Mielenkiintoisia artikkeleita...