Mikä on vektori Java: ssa ja miten sitä käytetään?



Tämä '' Vektorit Java-sovelluksessa '' -blogi auttaa sinua ymmärtämään, kuinka vektoriluokka eroaa ArrayLististä, ja auttaa sinua oppimaan erilaisista menetelmistä.

Vektorit sisään ovat yksi yleisimmin käytetyistä tietorakenteista ohjelmointimaailmassa.Me kaikki tiedämme sen Taulukot ovat tietorakenteita, jotka pitävät dataa lineaarisesti. Vektorit tallentavat tietoja myös lineaarisesti, mutta toisin kuin matriisit, niillä ei ole kiinteää kokoa. Sen sijaan niiden kokoa voidaan lisätä tarvittaessa.

Vektoriluokka on lapsiluokka TiivistelmäLista luokan ja toteuttaa Lista .Vektoreiden käyttämiseksi meidän on ensin tuotava Vector-luokka java.util-paketista:





java miten poistut ohjelmasta

tuo java.util.Vector

Tässä artikkelissa keskustelemme seuraavista vektorien käsitteistä:



Aloitetaan!

Etu s vektori Java

  • Dynaamisen koon ominaisuus on erittäin hyödyllinen, koska se välttää muistin tuhlaamisen, jos emme tiedä tietorakenne ilmoituksen tekohetkellä.
  • Kun haluamme muuttaa tietorakenteen kokoa ohjelman keskellä, vektorit voivat osoittautua erittäin hyödyllisiksi.

Dynaamisen koon ominaisuus ei ole ainutlaatuinen Java-vektoreille. Toinen tietorakenne, joka tunnetaan nimellä ArrayList, osoittaa myös dynaamisen koon ominaisuuden. Vektorit eroavat kuitenkin ArrayLists-luetteloista parista syystä:

  • Ensinnäkin vektorit synkronoidaan, mikä antaa sille edun verrattuna ohjelmia, koska on olemassa korruptioriski.
  • Toiseksi vektoreilla on joitain vanhoja toimintoja, jotka voidaan toteuttaa vain vektoreilla eikä ArrayLists-luetteloilla.

Kuinka päästä elementteihin vektorissa

Voimme käyttää datajäseniä yksinkertaisesti käyttämällä elementin hakemistoa, aivan kuten pääsemme elementteihin taulukossa.



Esimerkki- Jos haluamme käyttää vektorin v kolmatta elementtiä, viittaamme siihen yksinkertaisesti nimellä v [3].

Vektorit Rakentajat

Alla on lueteltu vektorin useita muunnelmia rakentajat käytettävissä:

  1. Vektori (int initialCapacity, int Increment) - Rakentaa vektorin, jolla on annettu alkukapasiteetti ja sen koon lisäys.
  2. Vektori (int initialCapacity) - Muodostaa tyhjän vektorin annetulla alkukapasiteetilla. Tässä tapauksessa lisäys on nolla.
  3. Vektori() - Rakentaa oletusvektorin, jonka kapasiteetti on 10.
  4. Vektori (kokoelma c) - Rakentaa vektorin tietyllä kokoelmalla, elementtien järjestys on sama kuin kokoelman iteraattorin palauttama.

Vektoreissa on myös kolme suojattua parametria

  1. Int kapasiteetti () - Se lisää automaattisesti vektorin kapasiteettia, kun koko nousee kapasiteettia suuremmaksi.
  2. Int elementCount () - kerro vektorissa olevien elementtien määrä
  3. Object [] elementData () - taulukko, johon vektorin elementit on tallennettu

Yleisimmät virheet vektorien ilmoituksessa

  • Vektori heittää IllegalArgumentException jos määritetyn vektorin InitialSize on negatiivinen.
  • Jos määritetty kokoelma on tyhjä, se heittää NullPointerException

Huomautus:

  1. Jos vektorin lisäystä ei ole määritetty, sen kapasiteetti onkaksinkertaistui jokaisessa lisäysjaksossa.
  2. Vektorin kapasiteetti ei voi olla pienempi kuin koko, se voi olla yhtä suuri kuin se.

Tarkastellaan esimerkkiä vektoreiden rakentajien alustamisesta.

Esimerkki: Vektorirakentajien alustaminen

/ Vektorirakentajia kuvaava Java-koodi tuo java.util. * Public class Main {public static void main (String [] args) {// luo oletusvektorin vektori v1 = new Vector () // luo vektorin, jonka koko on vektori v2 = uusi vektori (20) // luo vektorin, jolla on annettu koko- ja inkrementtivektori v3 = uusi vektori (30,10) v2.add (100) v2.add (100) v2.add (100) // luo vektori annetulla kokoelma Vektori v4 = uusi vektori (v2) System.out.println ('Vektori v1 kapasiteetti' + v1.kapasiteetti ()) System.out.println ('Vektori v2 kapasiteetti' + v2.kapasiteetti ()) System.out .println ('Kapasiteetin vektori v3' + v3.kapasiteetti ()) System.out.println ('Kapasiteetin v4 v + kapasiteetti ())}

Tuotos

Rakentajat - vektorit Javassa - Edureka

Vektorien muistin allokointi

Toistaiseksi sinun on ymmärrettävä, että vektoreilla ei ole kiinteää kokoa, vaan heillä on kyky muuttaa kokoa dynaamisesti. Voidaan ajatella, että vektorit osoittavat määrittelemättömän pitkän tilan esineiden varastointiin. Mutta näin ei ole. Vektorit voivat muuttaa kokoa kahden kentän 'kapasiteetti' ja 'kapasiteetin lisäys' perusteella. Aluksi varataan kapasiteettikentän kokoinen koko, kun vektori ilmoitetaan. Voimme lisätä elementit, jotka vastaavat kapasiteettia. Heti kun seuraava elementti lisätään, se lisää matriisin kokoa koon ”capacityIncrement” mukaan. Siksi se pystyy muuttamaan kokoa dynaamisesti.

A oletusrakentaja , kapasiteetti kaksinkertaistuu aina, kun kapasiteetti on täynnä ja uusi elementti on tarkoitus lisätä.

Esimerkki - Oletetaan, että meillä on vektori InitialCapacity 5 ja kapasiteetti Lisäys Joten vektorin alkukoko on 5 elementtiä Lisätään tähän elementtiin yksi kerrallaan 5 elementtiä, nimittäin 1,2,3,4,5. Kun yritämme lisätä vektoriin toista elementtiä, nimittäin 6, vektorin kokoa kasvatetaan 2: lla. Siksi vektorin koko on nyt 7. Joten vektori säätää helposti kokoa ei-arvon mukaan. elementtejä.

Toinen mielenkiintoinen asia on, että toisin kuin matriisit, vektorit eivät sisällä todellisia esineitä, vaan vain viittauksia kohteisiin. Näin ollen se sallii erityyppisten tietotyyppien kohteiden tallennuksen samaan vektoriin.

Menetelmät vektorissa

Katsotaanpa muutamia hyvin usein käytettyjä vektorimenetelmiä.

  • Looginen lisäys (Object o) - Se liittää elementin vektorin loppuun.
// Java-koodi, joka näyttää loogisen add () -metodin tuonti java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1 ) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun list v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Vektori on' + v)}}

Tuotos

  • Void add (int Index, E element) - Se lisää annetun elementin vektorin määritettyyn hakemistoon
// Java-koodi, joka näyttää void add () -metodin tuonti java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (0 , 1) // Lisää 1 hakemistoon 0 v. Add (1, 'Java') // Lisää 'Java' hakemistoon 1 v.add (2, 'on') // Lisää 'on' hakemistoon 2 v.add (3, 'Fun') // Lisää 'Fun' hakemistoon 3 v.add (4, '!!!') // Lisää 'Fun' hakemistoon 4 System.out.println (' Vektori on '+ v)}}

Tuotos

  • Totuusarvo Poista (objekti o) - Se poistaa vektorin annetun indeksin elementin poistamisen
// Java-koodi, joka näyttää loogisen poisto () -metodin tuonti java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1 ) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun list v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Vector before removal' + v) v.remove (1) System.out.println ('Vector after poisto '+ v)}}

Tuotos

  • Boolen poistoElement ( Object obj) - Se poistaa elementin nimellä obj (ei indeksinumerolla)
// Java-koodi, jossa on menetelmä removeElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Vector before removal' + v) v.removeElement ('Java') System.out.println ('Vector poistamisen jälkeen '+ v)}}

Tuotos

  • Int-koko () - Se palauttaa vektorin koon.
// Java-koodi, joka näyttää size () -metodin, tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (0, 1) // Lisää 1 hakemistoon 0 v. Add (1, 'Java') // Lisää 'Java' hakemistoon 1 v. Add (2, 'on') // Lisää 'on' hakemistoon 2 v.add (3, 'Fun') // Lisää 'Fun' hakemistoon 3 System.out.println ('Vektorin koko on' + v.size ())}}

Tuotos

  • Int-kapasiteetti () - Se palauttaa vektorin kapasiteetin
// Java-koodi, joka näyttää kapasiteetti () -metodin, tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (0, 1) // Lisää 1 hakemistoon 0 v. Add (1, 'Java') // Lisää 'Java' hakemistoon 1 v. Add (2, 'on') // Lisää 'on' hakemistoon 2 v.add (3, 'Fun') // Lisää 'Fun' hakemistoon 3 System.out.println ('Vektorikapasiteetti on' + v.capacity ())}}

Tuotos

  • Object get (int-indeksi) - Se palauttaa elementin vektorin annettuun kohtaan
// Java-koodi, joka näyttää get () -metodin java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Indeksin 1 elementti on' + v.get (1))}}

Tuotos

  • Object firstElement () - Se palauttaa ensimmäisen elementin
// Java-koodi, joka näyttää firstElement () -metodin, tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Ensimmäinen elementti on' + v.firstElement ())}}

Tuotos

  • Objekti lastElement () - Se palauttaa viimeisen elementin
// JavaE-koodi, joka näyttää lastElement () -metodin, tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (1) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('on') // Lisää 'on' luettelon loppuun v.add ('Fun') // Lisää 'Fun' luettelon loppuun System.out.println ('Viimeinen elementti on' + v.lastElement ())}}

Tuotos

  • Boolen arvo on yhtä suuri (objekti o) - Se vertaa vektoria määritettyyn objektiin tasa-arvon saavuttamiseksi. Se palauttaa arvon tosi, jos kaikki elementit ovat totta niiden vastaavissa indekseissä
// Java-koodi, joka näyttää loogisen arvon yhtäsuuri () - menetelmä tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin Vector vcopy = new Vector () v.add (1) // Lisää 1 luettelon loppuun v.add ('Java') // Lisää 'Java' luettelon loppuun v.add ('is') // Lisää ' on 'luettelon lopussa v.add (' Hauska ') // Lisää' Hauskaa 'luettelon loppuun vcopy.add (0,1) // Lisää 1 hakemistoon 0 vcopy.add (1, 'Java') // Lisää 'Java' hakemistoon 1 vcopy.add (2, 'is') // Lisää 'on' hakemistoon 2 vcopy.add (3, 'Fun') // Lisää 'Fun' hakemistossa 3 vcopy.add (4, '!!!') // Lisää 'Fun' hakemistoon 4, jos (v.equals (vcopy)) System.out.println ('Molemmat vektorit ovat samat') else System .out.println ('Vektorit eivät ole yhtä suuret')}}

Tuotos

  • Void trimtosize () - Tämä menetelmä poistaa ylimääräisen kapasiteetin ja pitää kapasiteetin vain pitämään elementit eli yhtä suurina kuin koko
// Java-koodi, joka näyttää trimToSize () -metodin, tuo java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Se luo oletusvektorin v.add (0, 1) // Lisää 1 hakemistoon 0 v. Add (1, 'Java') // Lisää 'Java' hakemistoon 1 v. Add (2, 'on') // Lisää 'on' hakemistoon 2 v.add (3, 'Fun') // Lisää 'Fun' hakemistoon 3 System.out.println ('Vektorikapasiteetti on' + v.capacity ()) v.trimToSize () System.out.println ( 'Vektorikapasiteetti on' + v.kapasiteetti ())}}

Tuotos


Muut tärkeät menetelmät

Tähän mennessä sinulla on oltava hyvä idea siitä, miten työskennellä vektorien kanssa. Jos haluat tutkia enemmän vektorimenetelmiä, katso alla oleva taulukko.

Menetelmän nimi Menetelmän toiminta

Totuusarvo onTyhjä ()

tarkistaa onko elementtejä olemassa vai ei

Totuusarvo sisältää (Object o)

käytetään tietyn elementin olemassaolon tarkistamiseen, sanotaan o

int indexOf (objekti o)

Se palauttaa elementin o indeksin

void removeRange (int s, int e)

poistaa elementit vektorista alkaen s: stä ja päättyen (e-1)

mitätön selvä ()

poistaa kaikki elementit

void užtikrinti kapasiteetti (int c)

Se lisää kapasiteettia c

void setSize (int s)

Se asettaa koon s. Jos s> koko, ylimääräinen kapasiteetti on täynnä nolla-arvoja. Jos s

Object elementAt (int a)

palauttaa indeksinumerolla a olevan elementin

Kohdejoukko (int a, Object o)

korvaa indeksissä a olevan elementin annetulla elementillä o

Objekti [] toArray ()

palauttaa taulukon, joka sisältää samat elementit kuin vektori

Objektiklooni ()

Vektoriobjekti kopioidaan

Boolen addAll (kokoelma c)

lisää kaikki kokoelman c elementit vektoriin

Boolen addAll (int a, Kokoelma c)

lisää kaikki kokoelman elementit c vektoriin määritetyssä indeksissä a

Boolen retainAll (kokoelma c)

säilyttää vektorissa kaikki elementit, jotka ovat myös kokoelmassa c

Lista alilista (int s, int e)

palauttaa elementit Lista-objektina alkaen s: stä ja päättyen (e-1) vektoriin.

Kuten kaikki hyvät asiat loppuvat, niin on myös blogimme Vectors in -sivustossa . Toivomme, että pystyimme käsittelemään kaikki Java-vektorien näkökohdat tässä blogissa ja pystyit keräämään jonkin verran tietoa vektoreista.

mikä on hälytys javascriptissä

Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.

Katso Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Autamme sinua matkanne jokaisessa vaiheessa, jotta tulemme tämän Java-haastattelukysymyksen lisäksi, keksimme opintosuunnitelman, joka on tarkoitettu opiskelijoille ja ammattilaisille, jotka haluavat olla Java-kehittäjiä.

Onko sinulla kysymys meille? Mainitse se tämän ”Vectors in Java” kommenttiosassa. artikkeli ja palaamme sinuun mahdollisimman pian.