Mis on Java Java ja kuidas me seda kasutame?



See ajaveebi jaotis „Java vektorid” aitab teil mõista, kuidas vektorklass erineb ArrayListist, ja aitab teil õppida erinevaid meetodeid.

Vektorid sisse on programmeerimismaailmas kõige sagedamini kasutatavad andmestruktuurid.Me kõik teame seda Massiivid on andmestruktuurid, mis hoiavad andmeid lineaarselt. Vektorid salvestavad andmeid ka lineaarselt, kuid erinevalt massiividest pole neil fikseeritud suurust. Selle asemel saab nende suurust soovi korral suurendada.

Vektorklass on lasteklass AbstractList klassi ja rakendab edasi Nimekiri .Vektorite kasutamiseks peame kõigepealt importima Vector-klassi paketist java.util:





import java.util.Vector

Selles artiklis käsitleme järgmisi vektorite mõisteid:



Alustame!

Eelis s vektor Java-s

  • Dünaamilise suuruse omadus on väga kasulik, kuna see väldib mälu raiskamist juhul, kui me ei tea mälu suurust andmete struktuur deklareerimise ajal.
  • Kui tahame keset programmi oma andmestruktuuri suurust muuta, võivad vektorid osutuda väga kasulikuks.

Dünaamilise suuruse omadus pole Java-vektorite jaoks ainulaadne. Teine andmestruktuur, tuntud kui ArrayList, näitab ka dünaamilise suurusega omadust. Vektorid erinevad ArrayListidest siiski mõnel põhjusel:

  • Esiteks sünkroniseeritakse vektorid, mis annab sellele eelise võrreldes programmidega, kuna on olemas andmete korruptsiooni oht.
  • Teiseks on vektoritel mõned pärandfunktsioonid, mida saab rakendada ainult vektoritel, mitte ArrayListidel.

Kuidas vektorites elementidele juurde pääseda

Andmeliikmetele pääseme juurde lihtsalt elemendi indeksit kasutades, nagu ka massiivi elementidele.



Näide Kui tahame pääseda juurde v vektori kolmandale elemendile, siis viidame sellele lihtsalt kui v [3].

Vektorid Konstruktorid

Allpool on loetletud vektori mitu variatsiooni konstruktorid saadaval kasutamiseks:

  1. Vektor (int initialCapacity, int Increment) - Ehitab vektori, millel on antud algne mahtuvus ja selle suurus.
  2. Vektor (int initialCapacity) - Konstrueerib antud algsuutlikkusega tühja vektori. Sellisel juhul on juurdekasv null.
  3. Vektor () - Ehitab vaikevektori maht 10.
  4. Vektor (kogu c) - Ehitab antud koguga vektori, elementide järjestus on sama, mis tagastab kogu iteraator.

Vektorites on ka kolm kaitstud parameetrit

mis on jaraliseerimine javas
  1. Int võimsusInkrement () - See suurendab vektori võimsust automaatselt, kui suurus muutub suuremaks kui maht.
  2. Int elementCount () - öelda vektoris olevate elementide arv
  3. Object [] elementData () - massiiv, milles vektori elemendid on salvestatud

Enamlevinud vead vektorite deklaratsioonis

  • Vektor viskab IllegalArgumentException kui määratletud vektori InitialSize on negatiivne.
  • Kui määratud kogum on null, siis see viskab NullPointerException

Märge:

  1. Kui vektori juurdekasvu pole määratud, siis selle maht onkahekordistus igas juurdekasvu tsüklis.
  2. Vektori maht ei saa olla väiksem kui suurus, see võib sellega võrduda.

Vaatleme vektorite konstruktorite lähtestamise näidet.

Näide: vektorkonstruktorite lähtestamine

/ Vektorkonstruktoreid illustreeriv Java kood impordib java.util. * Avalik klass Main {public static void main (String [] args) {// vaikevektori loomine v1 = uus vektor () // loo antud suurusega vektori v2 = = uus vektor (20) // looma antud suuruse ja juurdekasvega vektori v3 = uus vektori (30,10) v2.add (100) v2.add (100) v2.add (100) // looma antud vektori kogumikvektor v4 = uus vektor (v2) System.out.println ('mahtuvuse v1 + v1 mahtuvus ()] System.out.println (' mahutavuse v2 v2 mahtuvus ()) System.out .println ('maht v3 v3' + v3. mahtuvus ()) System.out.println ('maht v4 v4' + v4.maht ())}

Väljund

Konstruktorid - vektorid Javas - Edureka

Vektorite mälu jaotamine

Siiani peate olema aru saanud, et vektoritel pole fikseeritud suurust, selle asemel on neil võimalus oma suurust dünaamiliselt muuta. Võib arvata, et vektorid eraldavad objektide hoidmiseks määramata pika ruumi. Kuid see pole nii. Vektorid saavad oma suurust muuta, tuginedes kahele väljale 'mahtuvus' ja 'võimsuse kasv '. Esialgu eraldatakse vektori deklareerimisel väljaga „maht” võrdne suurus. Võime sisestada mahuga võrdsed elemendid. Niipea kui järgmine element on sisestatud, suurendab see massiivi suurust ‘capacityIncrement’. Seega on see võimeline oma suurust dünaamiliselt muutma.

Jaoks vaikekonstruktor , kahekordistatakse läbilaskevõime alati, kui maht on täis ja tuleb lisada uus element.

Näide - Oletame, et meil on InitialCapacity 5 ja mahtInkrement Seega on vektori esialgne suurus 5 elementi. Lisame sellesse vektorisse ükshaaval 5 elementi, nimelt 1,2,3,4,5. Kui proovime vektorisse sisestada veel ühe elemendi, nimelt 6, suureneb vektori suurus 2-ga. Seega on vektori suurus nüüd 7. Seega vektor reguleerib oma suurust hõlpsalt vastavalt numbrile. elementidest.

Teine huvitav moment on see, et erinevalt massiividest ei sisalda vektorid reaalseid objekte, vaid ainult viiteid objektidele. Seega võimaldab see salvestada eri vektoritesse erinevat tüüpi andmeid.

Meetodid vektoris

Vaatame mõnda väga sageli kasutatavat vektorimeetodit.

  • Loogiline lisamine (objekt o) - See lisab vektori lõppu elemendi.
// Java kood, mis näitab meetodit boolean add (), import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1 ) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('on') // Lisab 'on' loendi lõppu list v.add ('Fun') // Lisab loendi lõpu 'Fun' System.out.println ('Vektor on' + v)}}

Väljund

  • Tühista lisamine (int indeks, E element) - See lisab antud elemendi vektoris määratud indeksile
// Java kood, mis näitab meetodit void add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (0 , 1) // lisab 1 indeksis 0 v.add (1, 'Java') // lisab 'Java' indeksisse 1 v.add (2, 'on') // lisab indeksis 'on' 2 v.add (3, 'Fun') // lisab 'Fun' indeksisse 3 v.add (4, '!!!') // Lisab 'Fun' indeksisse 4 System.out.println (' Vektor on '+ v)}}

Väljund

  • Boolean Eemalda (objekt o) - See eemaldab vektoris antud elemendi eemaldamise elemendi
// Java-kood, mis näitab loogilist eemaldamismeetodit () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1 ) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('on') // Lisab 'on' loendi lõppu loend v.add ('Lõbus') // Lisab loendi lõppu 'Lõbu'. System.out.println ('Vektor enne eemaldamist' + v) v.remove (1) System.out.println ('Vektor pärast eemaldamine '+ v)}}

Väljund

  • Loogiline eemaldaElement ( Objekti objekt) - See kustutab elemendi nimega obj (mitte indeksinumbri järgi)
// Java-kood, mis näitab meetodit RemoveElement () java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('is') // Loendi lõppu lisab 'is' v.add ('Fun') // Lisab loendi lõppu 'Fun'. System.out.println ('Vektor enne eemaldamist' + v) v.removeElement ('Java') System.out.println ('Vector pärast eemaldamist '+ v)}}

Väljund

  • Rahvusvaheline suurus () - See tagastab vektori suuruse.
// Java-kood, mis näitab meetodit size () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (0, 1) // lisab 1 indeksis 0 v.add (1, 'Java') // lisab 'Java' indeksisse 1 v.add (2, 'on') // lisab indeksis 2 'on' v.add (3, 'Fun') // lisab 'Fun' indeksisse 3 System.out.println ('Vektori suurus on' + v.size ())}}

Väljund

  • Sisemaht () - See tagastab vektori mahtuvuse
// Java-koodi, mis näitab suutlikkuse () meetodit, import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (0, 1) // lisab 1 indeksis 0 v.add (1, 'Java') // lisab 'Java' indeksisse 1 v.add (2, 'on') // lisab indeksis 2 'on' v.add (3, 'Fun') // lisab 'Fun' indeksisse 3 System.out.println ('Vektorimaht on' + v.capacity ())}}

Väljund

  • Objekti hankimine (int indeks) - See tagastab elemendi vektoris antud kohas
// Java-kood, mis näitab meetodit get () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('is') // Loendi lõppu lisab 'is' v.add ('Fun') // Lisab 'Fun' loendi lõppu System.out.println ('Indeksi 1 element on' + v.get (1))}}

Väljund

  • Object firstElement () - See tagastab esimese elemendi
// Java-kood, mis näitab meetodit firstElement () java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('is') // Loendi lõppu lisab 'is' v.add ('Fun') // Lisab 'Fun' loendi lõppu System.out.println ('Esimene element on' + v.firstElement ())}}

Väljund

  • Object lastElement() – See tagastab viimase elemendi
// Java-kood, mis näitab meetodit lastElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (1) // Lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('is') // Loendi lõppu lisab 'is' v.add ('Fun') // Lisab loendi System.out.println lõppu 'Fun' ('Viimane element on' + v.lastElement ())}}

Väljund

  • Loogiline võrdub (objekt o) - See võrdleb vektorit võrdsustamiseks määratud objektiga. See tagastab tõene, kui kõik elemendid vastavad nende indeksitele
// Java-kood, mis näitab meetodit boolean equals (), import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori Vector vcopy = new Vector () v.add (1) // lisab loendi lõppu 1 v.add ('Java') // Lisab loendi lõppu 'Java' v.add ('is') // lisab ' on 'loendi lõpus v.add (' Lõbus ') // Lisab loendi lõppu' Lõbus 'vcopy.add (0,1) // Lisab 1 indeksis 0 vcopy.add (1, 'Java') // lisab 'Java' indeksisse 1 vcopy.add (2, 'is') // Lisab 'on' indeksis 2 vcopy.add (3, 'Fun') // Lisab 'Fun' indeksil 3 vcopy.add (4, '!!!') // Lisab indeksisse 4 lõbustuse, kui (v.equals (vcopy)) System.out.println ('Mõlemad vektorid on võrdsed') else Süsteem .out.println ('Vektorid pole võrdsed')}}

Väljund

  • Tühista trimtosiseerimine () - See meetod eemaldab lisamahtuvuse ja hoiab võimekuse elementide hoidmiseks, st võrdne suurusega
// Java-kood, mis näitab meetodit trimToSize (), import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // See loob vaikevektori v.add (0, 1) // lisab 1 indeksis 0 v.add (1, 'Java') // lisab 'Java' indeksisse 1 v.add (2, 'on') // lisab indeksis 2 'on' v.add (3, 'Fun') // lisab 'Fun' indeksile 3 System.out.println ('Vektorimaht on' + v.capacity ()) v.trimToSize () System.out.println ( 'Vektorimaht on' + v. Mahtuvus ())}}

Väljund


Teised olulised meetodid

Nüüd peate olema saanud hea idee vektoritega töötamise kohta. Kui soovite uurida rohkem vektormeetodeid, vaadake allpool toodud tabelit.

Meetodi nimi Meetodi funktsioon

Boolean isTühi ()

kontrollib elementide olemasolu või mitte

Boolean sisaldab (Object o)

kasutatakse konkreetse elemendi olemasolu kontrollimiseks, ütleme o

int indexOf (objekt o)

See tagastab elemendi o indeksi

void removeRange (int s, int e)

eemaldab vektorist elemendid alates s-st ja lõpetades (e-1)

tühine selge ()

eemaldab kõik elemendid

void tagadaCapacity (int c)

java klassi laadija intervjuu küsimused

See suurendab mahtu c võrra

void setSize (int s)

See määrab suuruseks s. Kui s> suurus, täidetakse lisamaht nullväärtustega. Kui s

kõne viitega c ++

Objekti elementAt (int a)

tagastab indeksi number a olemasoleva elemendi

Objektikomplekt (int a, Object o)

asendab indeksis a oleva elemendi antud elemendiga o

Objekt [] toArray ()

tagastab massiivi, mis sisaldab samu elemente kui vektor

Objektikloon ()

Vektorobjekt kopeeritakse

Boolean addAll (kogu c)

lisab vektorisse kõik kollektsiooni c elemendid

Boolean addAll (int a, kogu c)

lisab kogu kollektsiooni elemendid c vektorile määratud indeksis a

Boolean retainAll (kogu c)

säilitab vektoris kõik elemendid, mis eksisteerivad ka kogumikus c

Loendi alamloend (int s, int e)

tagastab elemendid loendiobjektina, alustades s-st ja lõpetades vektoriga (e-1).

Kuna iga hea asi saab otsa, on ka meie blogi Vektorid sisse lülitatud . Loodame, et suutsime selles blogis kajastada kõiki Java-vektorite aspekte ja teil oli võimalik koguda mõningaid teadmisi vektorite kohta.

Harjutage kindlasti nii palju kui võimalik ja pöörake oma kogemused tagasi.

Vaadake Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma. Oleme siin, et aidata teil igal sammul teie teekonnal, et saada lisaks sellele Java-intervjuu küsimustele välja, pakume välja õppekava, mis on mõeldud õpilastele ja spetsialistidele, kes soovivad olla Java-arendajad.

Kas teil on meile küsimus? Palun mainige seda selle jaotise ‘Java vektorid’ kommentaaride osas artikli ja võtame teiega ühendust niipea kui võimalik.