Razlika med List in ArrayList na Javi

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 14 Maj 2024
Anonim
Razlika med List in ArrayList na Javi - Tehnologija
Razlika med List in ArrayList na Javi - Tehnologija

Vsebina


Seznam in ArrayList sta člana okvira Collection. Seznam je zbirka elementov v zaporedju, kjer je vsak element predmet, do elementov pa je dostopen položaj (indeks). ArrayList ustvari dinamično paleto predmetov, ki po potrebi poveča ali zmanjša velikost. Primarna razlika med Listom in ArrayListom je v tem Seznam je vmesnik in ArrayList je razred. Proučimo razliko med Seznam in ArrayList s pomočjo spodnje primerjalne tabele.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoSeznamArrayList
OsnovniSeznam je vmesnikArrayList je standardni zbirni razred.
SintaksaSeznam vmesnikovrazred ArrayList
Razširitev / izvedbaSeznam vmesnikov razširja okvir za zbiranje.ArrayList podaljša AbstractList in izvede seznam vmesnikov.
Imenski prostorSystem.Collections.Generic.System.Collections.
DeloUporablja se za ustvarjanje seznama elementov (predmetov), ​​ki so povezani z njihovimi indeksnimi številkami.ArrayList se uporablja za ustvarjanje dinamičnega niza, ki vsebuje predmete.


Opredelitev seznama

Seznam je vmesnik ki razširi Zbirka ogrodje. Seznam vmesnikov opisuje zbirko elementov, ki so razporejeni zaporedno. Seznam vmesnikov izvajajo naslednji standardni zbirki, kot so ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Seznam vmesnikov vsebuje elemente, povezane z njihovimi indeksnimi številkami. Do elementa na seznamu lahko dostopate po njegovem položaju (indeksu) na seznamu. Seznam, ustvarjen z vmesnikom List, se začne z ničelnim indeksom.

Poleg metod, ki jih je podedoval zbirko Framework, vmesnik List določa tudi neko lastno metodo. Metode, ki jih doda vmesnik List, so: dodaj (int, E) in addAll (int, zbirka). Te metode dodajo element na seznam s svojim indeksom. Metode na seznamu lahko vržejo izjemo, kot je NepodprtoOperacijaException če metoda ne more spremeniti seznama. Ko en predmet na seznamu ni združljiv z drugim objektom na seznamu, potem ClassCastException je vržen.Novi elementi niso dovoljeni na seznamu, če poskusite na seznam vstaviti ničelni predmet, NullPointerException se vrže.


Element s seznama lahko pridobite z uporabo get () metoda. Vrednost elementa na seznamu lahko nastavite s pomočjo set () metoda. Podpis lahko s seznama dobite tudi s seznama podpis (). Priročno je, da namesto po seznamu delujete na seznamu.

Opredelitev ArrayList

Eden od standardnih razredov Collection je ArrayList, ki se razširi AbstractList razreda in izvaja tudi Seznam vmesnik. Razred ArrayList se uporablja za ustvarjanje dinamičnih nizov, ki rastejo in se skrčijo, kadar koli je to potrebno. Seznam, ustvarjen z razredom ArrayList, ni nič drugega kot matrika predmetov. Pri Javi ima standardni niz določeno dolžino, zato morate vnaprej vedeti velikost matrike. Lahko pa, da morda ne veste, kakšno dolžino matrike potrebujete do časa izvajanja. Zato je okvir Collection uvedel razred ArrayList za premagovanje tega vprašanja.

ArrayList ima konstruktorje, ki ustvarijo matriko s svojo dejansko zmogljivostjo. Čeprav se zmogljivost predmeta razreda ArrayList samodejno poveča, ko se elementi dodajo v matriko, še vedno lahko ročno povečate zmogljivost predmeta ArrayList s pomočjo metode Zagotavljanje zmogljivosti (). Bolje je, da prvotno povečate zmogljivost matrike, namesto da pozneje prerazporedite pomnilnik. Ker je prerazporeditev dražja kot dodelitev pomnilnika naenkrat.

  1. Ena najpomembnejših razlik med List in ArrayList je, da je seznam vmesnik in ArrayList je standardna zbirka razred.
  2. Seznam vmesnikov podaljša Zbirka okvir, medtem ko se ArrayList razširi AbstractList Razred in izvaja Seznam vmesniki.
  3. Imenski prostor za vmesnik List je System.Collection.Generic ker je imeni za ArrayList System.Collection.
  4. Seznam vmesnikov ustvari zbirko elementov, ki so shranjeni v zaporedju in so do njih določeni ali dostopni po njihovi indeksni številki. Po drugi strani ArrayList ustvari matriko predmetov, kjer lahko matrika dinamično raste, če je to potrebno.

Zaključek:

ArrayList premaga težavo statičnega niza v standardni Javi, tj. Matrika ne more naraščati po velikosti, ko je ustvarjena. Ko je matrika ustvarjena s pomočjo ArrayList, se ustvari dinamičen niz, ki lahko po potrebi raste in se zmanjšuje v velikost. Standardni zbirni razred ArrayList razširja vmesnik List.