Skirtumas tarp „Java“ sąrašo ir „ArrayList“

Autorius: Laura McKinney
Kūrybos Data: 2 Balandis 2021
Atnaujinimo Data: 15 Gegužė 2024
Anonim
Skirtumas tarp „Java“ sąrašo ir „ArrayList“ - Technologija
Skirtumas tarp „Java“ sąrašo ir „ArrayList“ - Technologija

Turinys


„List“ ir „ArrayList“ yra kolekcijos struktūros nariai. Sąrašas yra elementų rinkinys iš eilės, kuriame kiekvienas elementas yra objektas, o elementai prieinami ten, kur yra pozicija (rodyklė). „ArrayList“ sukuria dinamišką objektų masyvą, kuris prireikus padidėja arba sumažėja. Pagrindinis skirtumas tarp „List“ ir „ArrayList“ yra tas Sąrašas yra sąsaja ir „ArrayList“ yra klasė. Leiskite mums ištirti skirtumą tarp sąrašo ir „ArrayList“, naudodamiesi žemiau pateikta palyginimo lentele.

  1. Palyginimo diagrama
  2. Apibrėžimas
  3. Pagrindiniai skirtumai
  4. Išvada

Palyginimo diagrama

Palyginimo pagrindasSąrašas„ArrayList“
PagrindinisSąrašas yra sąsaja„ArrayList“ yra standartinė kolekcijos klasė.
Sintaksėsąsajų sąrašasklasės „ArrayList“
Išplėsti / įgyvendintiSąrašo sąsaja išplečia „Collection Framework“.„ArrayList“ išplečia „AbstractList“ ir įgyvendina Sąrašo sąsają.
Vardų sritisSystem.Collections.Bendra.Sistema.Kolekcijos.
DarbasJis naudojamas elementų (objektų), susietų su jų rodyklės numeriais, sąrašui sudaryti.„ArrayList“ yra naudojamas dinaminiam masyvui, kuriame yra objektai, sukurti.


Sąrašo apibrėžimas

Sąrašas yra sąsaja kuris išplečia Kolekcija sistema. Sąrašo sąsaja apibūdina elementų, išdėstytų paeiliui, rinkinį. Sąrašo sąsaja įgyvendinama tokiomis standartinėmis kolekcijų klasėmis kaip „ArrayList“, „LinkedList“, „CopyOnWriteArrayList“, „Vector“, „Stack“. Sąrašo sąsajoje yra elementų, kurie yra susieti su jų indekso numeriais. Elementą sąraše galite pasiekti pagal jo vietą (rodyklę) sąraše. Sąrašo, sukurto naudojant Sąsajos sąsaja, pradžia yra nulis.

Be metodų, kuriuos paveldėjo Kolekcijų sąranga, Sąrašo sąsaja apibrėžia ir kai kuriuos savo metodus. Sąrašo sąsajos pridedami metodai yra šie: pridėti (int, E) ir „addAll“ (int, kolekcija). Šie metodai įtraukia elementą į sąrašą pagal jų rodyklę. Sąrašo metodai gali sukelti tokią išimtį kaip NepalaikomaOperacijaIšimtis jei metodas negali pakeisti sąrašo. Kai vienas sąrašo objektas nesuderinamas su kitu sąrašo objektu, tada „ClassCastException“ metami.Net elementai neleidžiami sąraše, jei bandysite į sąrašą įterpti nulinį objektą, „NullPointerException“ yra mestas.


Elementą iš sąrašo galite gauti naudodami gauti () metodas. Elemento vertę sąraše galite nustatyti naudodami nustatyti () metodas. Sublistą iš sąrašo taip pat galite gauti naudodami metodą sublist (). Patogu dirbti su pogrupiu, o ne su sąrašu.

Apibrėžimas ArrayList

Viena iš standartinių kolekcijos klasių yra „ArrayList“, kuri tęsiasi „AbstractList“ klasės, taip pat įgyvendina Sąrašas sąsaja. „ArrayList“ klasė naudojama sukurti dinaminius masyvus, kurie auga ir traukiasi, kai to reikia. Sąrašas, sukurtas naudojant „ArrayList“ klasę, yra ne kas kita, o objektų masyvas. „Java“ programoje standartinis masyvas turi fiksuotą ilgį, todėl iš anksto turite žinoti masyvo dydį. Tačiau gali būti, kad iki vykdymo laiko jūs nežinote, kokio ilgio jums reikia masyvo. Taigi, „Collection“ sistema pristatė „ArrayList“ klasę, kad galėtų išspręsti šią problemą.

„ArrayList“ turi konstruktorių, kurie sukuria masyvą pagal jo pradinį pajėgumą. Nors ArrayList klasės objekto talpa automatiškai padidėja, kai elementai pridedami prie masyvo, vis tiek galite rankiniu būdu padidinti ArrayList objekto talpą naudodami metodą užtikrintipajėgumas (). Geriau iš pradžių padidinti masyvo talpą, o ne vėliau perskirstyti atmintį. Nes perskirstymas yra brangesnis nei atminties paskirstymas iš karto.

  1. Vienas svarbiausių sąrašo ir „ArrayList“ skirtumų yra tas, kad sąrašas yra sąsaja „ArrayList“ yra standartinė kolekcija klasė.
  2. Sąrašo sąsaja išplečia Kolekcija „ArrayList“ tęsiasi „AbstractList“ Klasė ir ji įgyvendina Sąrašas sąsajos.
  3. Sąrašo Sąrašo vardų sritis yra System.Collection.Bendra kadangi „ArrayList“ vardų sritis yra Sistema.Kolekcija.
  4. Sąrašo sąsaja sukuria elementų rinkinį, kuris saugomas seka ir yra identifikuojamas arba prieinamas pagal jų indekso numerį. Kita vertus, „ArrayList“ sukuria objektų masyvą, kur prireikus masyvas gali dinamiškai augti.

Išvada:

„ArrayList“ išsprendžia statinio masyvo problemą standartiniame „Java“, ty sukūrus masyvą, jo dydis negali išaugti. Kai masyvas sukuriamas naudojant „ArrayList“, sukuriamas dinaminis masyvas, kuris prireikus gali augti ir mažėti. Standartinė kolekcijos klasė „ArrayList“ išplečia Sąrašo sąsają.