Eroja Java Vector vs. ArrayList: n välillä

Yksi yleinen määritelmä, jonka muistamme kirjoittaessamme vektorista (Java). Java-vektoreita käytetään yleisesti taulukkojen sijasta. Voimme antaa esimerkkejä samasta - Vaikka tiedot kasvavat automaattisesti, ne kasvavat. Voimme luoda vektorin alkuperäisellä koossa tai oletusarvoisella alkuperäisellä koossa.

Näemme koodin oletusarvoiseen alkuperäiseen kokoon tai alkuun:

  • Luoda vektori oletusarvoisella alkuperäisellä koossa
    Vector v = uusi vektori ();
  • Alkuperäisen vektorin luominen
    Vector v = uusi vektori (300);

Alla on yleiset vektorimenetelmät ::

  • Lisää (o)
  • asia selvä()
  • firstElement (i)
  • listIterator ()
  • koko()
  • toArray (Object ())

Java ArrayList on yksi yksinkertaisimmista ja eniten käytetyistä tietorakenteista Java API -kirjaston toteutusluokissa. Tärkeintä on, että se käyttää dynaamista taulukkoa elementtien varastointiin. Yksi asia, joka meidän tulisi muistaa luotaessa taulukkoja, ovat ne, joiden pituus on kiinteä, kun ne on luotu, emme voi tehdä mitään muutoksia.

Alla ovat rakentajat

ArrayList () - Se auttaa tyhjän ryhmäluettelon luomisessa

ArrayList (kokoelma c) - Se auttaa luomaan luettelon rakentavista elementeistä

Ennalta määritelty kokoelma

ArrayList (int kapasiteetti) - Se auttaa tyhjän luettelon rakentamisessa.

Alla on yleisimmin käytetyt menetelmät :: ::

  • Boolen lisäys (E obj)
  • tyhjä lisäys (int-hakemisto, E obj)
  • E saada (int hakemisto)
  • boolean sisältää (Object obj)
  • boolean isEmpty ()

Java esiteltiin uudella API-kokoelmalla Java 2.0: ssa yhtenäisten jäsenneltyjen luokkien tarjoamiseksi. Kun uusi sovellusliittymä otetaan käyttöön, menetelmissä tapahtuu muutoksia. Nyt täällä näemme joitain vanhoja ja uusia menetelmiä, jotka ovat muuttuneet API-muutoksen aikaan.

Vanha menetelmäUusi menetelmä
Kohteen elementtiAt (int)Esine saada (int)
tyhjä insertElementAt (Object, int)tyhjä lisäys (hakemisto, objekti)
void addElement (Object)boolean add (Object)
tyhjä setElementAt (int)Objekti asetettu (int, Object)
mitätön poistaElementAt (int)mitätön poista (int)
tyhjä poista kaikkiAleElementit ()tyhjä tyhjä ()

Head to Head -vertailu Java-vektori vs. ArrayList (Infographics)

Alla on kahdeksan suosituinta vertailua Java Vector vs. ArrayListin välillä

Java Vector vs. ArrayList -sovelluksen tärkeimmät erot

Alla on pisteluettelot, kuvaavat Java Vector vs. ArrayList -sovelluksen tärkeimmät erot

ArrayList ei ole synkronoitu eikä ole säiettä turvallinen, mutta Vector on synkronoitu ja sillä on yksi säie kutsua-menetelmiin kerrallaan. Mutta kun turvallisuuteen tulee yksilankainen tapaus, ArrayList on ainoa vaihtoehto, mutta jos työskentelemme monisäikeisesti, meidän on pidettävä parempana vektoreita. Jos tiedossa on epäilyksiä tai sekaannusta, voimme valita vektorin, koska vektorissa voidaan asettaa lisäysarvo.

Vektori voi käyttää sekä enumeration- että Iterator-käyttöliittymää elementtien läpi kulkemiseen, mutta ArrayList voi käyttää Iterator-käyttöliittymää vain siirtymiseen. Vektorina Jos käytät kokonaislukumääriä, et voi muuttaa kokonaislukua. Vektorissa kahdella eniten käytetyllä menetelmällä on Seuraava () ja Seuraava (). ArrayListit luodaan alkuperäisellä koossa, koska jos objektit lisäävät, se lisää kokoa ja objektit poistavat kokoa pienenevät automaattisesti.

Java-vektoriluokka toteuttaa dynaamisen joukon objekteja. Se on tarkalleen identtinen taulukon kanssa, se sisältää elementtejä, joihin pääsee yksinkertaisella kokonaislukuindeksillä. Vektorin koko voi kuitenkin kasvaa tai kutistua, jotta kohteita voidaan lisätä ja poistaa tarpeen mukaan.

Java Vector ja ArrayList tarjoavat molemmat koon suuruuden, joka tarkoittaa taulukkoa, joka voi lisätä tilaa. Java tarjoaa vektoriluokan tarjoamaan dynaamista kokoa, yleisiä ja hyödyllisiä ennalta määritettyjä menetelmiä (näimme jo menetelmät sivulla 1). Käytä taulukkoa, jos koko on kiinteä; käytä vektoria, jos koko voi muuttua. Sekä Java Vector että ArrayList ovat hakemistopohjaisia ​​ja käyttävät taulukkoa sisäisesti ja molemmat Java Vector vs ArrayList ylläpitävät elementtien lisäysjärjestystä. Java tarjoaa ArrayList-luokan tarjoamaan samanlaisia ​​ominaisuuksia kuin Vector-dynaamiset, yleiset ja hyödylliset ennalta määritetyt menetelmät.

Java Vector ja ArrayList molemmat luokat, joita käytetään taulukkojen dynaamiseen käyttöön. Class ArrayList - E määrittelee objektityypit, joita taulukko voi pitää. Tässä luotu taulukko on muuttuva ja se voi kasvaa tai pienentyä objektien allokoinnin perusteella. Vector :: luokka Vector - E edustaa objektityyppiä, joka tallennetaan taulukkoon.

Suositellut kurssit

  • Tietorakenteiden ja algoritmien koulutuskurssi
  • Vianhallintakurssit
  • Shell-ohjelmointi Cygwin-ohjelmassa

Vertailutaulukko Java Vector: n ja ArrayListin välillä

Seuraava on vertailutaulukko Java Vector vs. ArrayList välillä

Vertailun perusteetvektoritArrayList
perustiedotVector on perintöluokka ja se on synkronoituArrayList ei ole vanha luokka eikä sitä ole synkronoitu.
KokoMelkein se kaksinkertaistaa koon, jos elementtien kokonaismäärä kasvaaArrayList kasvaa 50% koostaan, jos elementtien lukumäärä kasvaa
Tietojen kasvuVektorit kasvavat ja kutistuvat dynaamisesti säilytystilan optimaalisen käytön ylläpitämiseksiArrayList kasvaa ja kutistuu dynaamisesti säilytystilan optimaalisen käytön ylläpitämiseksi
KäyttöliittymäVector käyttää Iterator- ja Enumeration-käyttöliittymääArrayList käyttää Iterator-käyttöliittymää
EsitysVektori on hidas verrattuna ArrayListiin, koska se on synkronoituArrayList on nopea synkronoimattomuuden takia
Ketju turvallinenJooEi
Esitelty vuonnaEsitelty JDK 1.0 -versiossaEsitelty JDK 1.2 -versiossa
Aseta lisäyskokoVektori määrittää lisäyksen koonArrayList ei määritä lisäyksen kokoa

Johtopäätös Java Vector vs ArrayList

Lopuksi totean, että Java-vektori vs. ArrayList molemmilla on etuja ja haittoja. Molemmat ovat erittäin menestyviä markkinoilla. ArrayList on viimeinen kerta, jos verrataan Vectoriin. ArrayList on suositeltavampi, jos et tarvitse synkronointia. Kun käytät Vector- tai ArrayList-ohjelmaa, yritä aina alustaa suurin mahdollinen kapasiteetti, jota ohjelma tarvitsee, koska taulukon laajentaminen on kallista. minä

ArrayList on synkronoitu miksi, koska useampaa kuin yhtä ketjua voidaan käyttää taulukossa samanaikaisesti. Kun viitataan taulukkoon, jos yksi säie lisää objektia, toinen säie poistaa kohteen samasta taulukosta samanaikaisesti.

Java Vector ja ArrayList pitävät molemmat kohdeviittauksia. Jos taulukko on täysin varattu ja jos haluamme lisätä uuden objektin sen jälkeen kun se on täysin varattu, nyt molemmissa tapauksissa koko kasvaa, mutta tärkein ero tulee ArrayList-kokoon, jos kokoa ei määritetä, se voi kasvaa puoleen nykyisestä taulukosta, mutta vektori voi kaksinkertaistaa koon, jos lisäysarvoa ei määritetä.

Lopuksi sanon lopuksi, että suosii aina ArrayListin käyttöä. Miksi, koska ArrayList toimii nopeammin ja paremmin kuin Vector.

Suositeltava artikkeli

Tämä on opas Java Vector vs ArrayList -erot, niiden merkitys, Head to Head -vertailu, avainerot, vertailutaulukko ja johtopäätös. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. Java Performance vs Python: Mitkä ovat erot
  2. Scala vs Java Performance: Mikä on parempi? (Kuvaajat)
  3. Java vs. JavaScript - 8 hyödyllistä vertailua oppimiseen
  4. Java vs Python - 9 tärkeintä vertailua, jotka sinun on opittava
  5. Java Heap vs Stack - 7 mahtavaa asiaa, jonka sinun pitäisi tietää
  6. C # taulukko vs. luettelo: Mitkä ovat edut
  7. Array vs. ArrayList | 6 parasta eroa