Erinevused Java Vectori ja ArrayListi vahel

Üks levinum määratlus, mida me vektorist (Java) kirjutades meelde jätame. Massiivide asemel kasutatakse tavaliselt Java-vektoreid. Võime tuua näiteid selle kohta - kuigi andmeid kasvab automaatselt, laieneb see. Saame luua algse suurusega või algse algse suurusega vektori.

Näeme vaike algsuuruse või algsuuruse koodi:

  • Algse vaikesuurusega vektori loomine
    Vektor v = uus vektor ();
  • Algsuurusega vektori loomine
    Vektor v = uus vektor (300);

Allpool on toodud levinumad vektormeetodid:

  • lisa (o)
  • tühjenda ()
  • esimene element (i)
  • listIterator ()
  • suurus ()
  • toArray (objekt ())

Java ArrayList on Java API teegi rakendusklassides üks lihtsamaid ja enim kasutatavaid andmestruktuure. Peaasi, et see kasutab elementide salvestamiseks dünaamilist massiivi. Üks asi, mida peaksime massiivide loomisel meeles pidama, on need, mille loomisel on kindla pikkusega muudatusi teha.

Allpool on toodud konstruktorid

ArrayList () - see aitab luua tühja massiivide nimekirja

ArrayList (kollektsioon c) - see aitab luua konstruktiivsete elementide nimekirja

Eelmääratletud kollektsioon

ArrayList (sisemine maht) - see aitab luua tühja nimekirja.

Allpool on kõige sagedamini kasutatavad meetodid :: ::

  • Boolean add (E obj)
  • tühine lisamine (int indeks, E obj)
  • E saama (int indeks)
  • tõeväärtus sisaldab (objekt obj)
  • boolean isEmpty ()

Java tutvustati Java 2.0-s uue API-kollektsiooniga, et pakkuda ühtseid struktureeritud klasse. Kui uus API kasutusele võetakse, muutuvad meetodid. Nüüd näeme siin mõnda vana ja uut meetodit, mis on API muutmise ajal muutunud.

Vana meetodUus meetod
Objekti elementAt (int)Objekti saamine (int)
tühine insertElementAt (objekt, int)tühine lisamine (register, objekt)
tühine addElement (objekt)tõeväärtuse lisamine (objekt)
tühine setElementAt (int)Objekti komplekt (int, objekt)
tühista eemaldaElementAt (int)tühista eemaldamine (int)
tühista eemalda kõik elemendid ()tühine selge ()

Java Vector vs ArrayList (Infographics) võrdlus ühest otsast teise

Allpool on kaheksa parimat võrdlust Java Vectori ja ArrayListi vahel

Java Vector vs ArrayList peamised erinevused

Allpool on punktide loendid, kirjeldage Java Vector vs ArrayList peamisi erinevusi

ArrayList ei ole sünkroonitud ja pole lõimekindel, kuid vektor on sünkroniseeritud ja sellel on korraga üks lõim helistamismeetoditele. Kuid kui ohutusse puutub ühe keermega juhtum, on ArrayList ainus valik, kuid kui töötame mitme keermega, peame eelistama vektoreid. Kui meil on andmetes kahtlusi või segadust, siis saame valida vektori, kuna vektoris saame seada juurdekasvu väärtuse.

Vektor võib elementide ületamiseks kasutada nii loendamist kui ka iteraatori liidest, kuid ArrayList saab liikumiseks kasutada ainult iteraatori liidest. Vektorina Kui kasutate täisarvu ümbrist, ei saa te täisarvu muuta. Vektoris on kahel enim kasutatud meetodil Järgmine () ja Järgmine (). ArrayLists luuakse algsuurusega, sest kui objektid lisavad, suurendab see suurust ja objektid eemaldavad suuruse automaatselt.

Vektoriklass Java-s rakendab dünaamilist objektide massiivi. See on täpselt identne massiiviga, sisaldab elemente, millele pääseb juurde lihtsa täisarvu indeksi abil. Kuid vektori suurus võib suureneda või kahaneda, et mahutada üksusi vajaduse korral lisamiseks ja eemaldamiseks.

Java Vector ja ArrayList pakuvad mõlemad suurust, mis tähendab massiivi, mis võib ruumi suurendada. Java pakub vektorklassi dünaamilise suuruse, üldiste ja kasulike eelmääratud meetodite pakkumiseks (meetodeid nägime juba lehel 1). Kui suurus on fikseeritud, kasutage massiivi; kui suurus võib muutuda, kasutage vektorit. Nii Java Vector kui ka ArrayList on indeksipõhised ja kasutavad massiivi sisemiselt ning mõlemad Java Vector vs ArrayList säilitavad elementide sisestamise järjekorra. Java pakub ArrayList klassi, et pakkuda sarnaseid funktsioone nagu Vector dünaamilised, üldised ja kasulikud eelmääratletud meetodid.

Massiivi dünaamiliseks kasutamiseks kasutatakse mõlemat klassi Java Vector ja ArrayList. Klass ArrayList - E määrab objektide tüübi, mida massiiv võib hoida. Siin loodud massiiv on varieeruv üks ja see võib objektide jaotamise põhjal suureneda või väheneda. Vector :: klass Vektor - E tähistab massiivi salvestatava objekti tüüpi.

Soovitatavad kursused

  • Andmestruktuuride ja algoritmide koolituskursus
  • Defektide likvideerimise kursused
  • Shelli programmeerimine Cygwini programmis

Võrdlustabel Java Vectori ja ArrayListi vahel

Allpool on toodud Java Vector vs ArrayList võrdlustabel

Võrdluse alusVektoridArrayList
PõhilineVektor on pärandiklass ja see on sünkroniseeritudArrayList pole pärandiklass ja seda ei sünkroonita.
SuurusPeaaegu kahekordistab suurus, kui elementide koguarv suurenebElementide arvu suurenemise korral suureneb ArrayList selle suurusest 50%
Andmete kasvVector kasvab ja kahaneb dünaamiliselt, et säilitada optimaalset salvestusruumi kasutamistArrayList kasvab ja kahaneb dünaamiliselt, et säilitada salvestusruumi optimaalset kasutamist
LiidesVektor kasutab Iteraatori ja loendamise liidestArrayList Kasutab Iteraatori liidest
EtendusVektor on ArrayListiga võrreldes aeglane, kuna see on sünkroniseeritudArrayList on sünkroonimata jätmise tõttu kiire
Teema turvalineJahEi
Sisse toodudTutvustatud JDK 1.0 vertikaaligaTutvustatakse JDK 1.2 vertikaalis
Määrake suurendamise suurusVektor määrab sammu suuruseArrayList ei määra sammu suurust

Järeldus Java Vector vs ArrayList

Lõpuks võib järeldada, et Java vector vs ArrayList on plussid ja miinused. Mõlemad on turul väga edukad. ArrayList on hiljuti üks kord, kui võrrelda Vectoriga. ArrayList on eelistatud, kui te ei vaja sünkroonimist. Vektori või ArrayListi kasutamisel proovige alati lähtestada suurim maht, mida teie programm vajab, kuna massiivi laiendamine on kulukas. Mina

ArrayList on sünkroniseeritud miks, kuna massiivis saab korraga kasutada rohkem kui ühte lõime. Massiivi korral, kui üks lõim lisab objektile, eemaldab sama keermega objekt samal ajal teise lõime.

Java Vector ja ArrayList omavad mõlemad objektide viiteid. Kui massiiv on täielikult hõivatud ja kui tahame lisada uue objekti pärast täielikult hõivatud, suureneb nüüd mõlemal juhul suurus, kuid peamine erinevus tuleb ArrayListis suuruse osas, kui suurust ei täpsustata, võib see suurendada poole praegusest massiivist, kuid vektor võib suurust kahekordistada, kui juurdekasvu väärtust ei täpsustata.

Lõpetuseks ütlen, et eelistab alati kasutada ArrayListi. Miks, kuna ArrayList toimib Vectoriga võrreldes kiiremini ja paremini.

Soovitatav artikkel

See on juhend Java Vector vs ArrayList erinevuste, nende tähenduse, pea võrdluse kohta, peamised erinevused, võrdlustabel ja järeldus. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -

  1. Java jõudlus vs Python: millised on erinevused
  2. Scala vs Java jõudlus: kumb on parem? (Infograafika)
  3. Java vs JavaScript - 8 kasulikku võrdlust õppimiseks
  4. Java vs Python - 9 parimat olulist võrdlust, mida peate õppima
  5. Java Heap vs Stack - 7 vinge asja, mida peaksite teadma
  6. C # massiiv vs nimekiri: mis on selle eelised
  7. Array vs ArrayList | 6 parimat erinevust

Kategooria: