Razlika med List in ArrayList na Javi
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.
- Primerjalna tabela
- Opredelitev
- Ključne razlike
- Zaključek
Primerjalna tabela
Osnove za primerjavo | Seznam | ArrayList |
---|---|---|
Osnovni | Seznam je vmesnik | ArrayList je standardni zbirni razred. |
Sintaksa | Seznam vmesnikov | razred ArrayList |
Razširitev / izvedba | Seznam vmesnikov razširja okvir za zbiranje. | ArrayList podaljša AbstractList in izvede seznam vmesnikov. |
Imenski prostor | System.Collections.Generic. | System.Collections. |
Delo | Uporablja 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.
- Ena najpomembnejših razlik med List in ArrayList je, da je seznam vmesnik in ArrayList je standardna zbirka razred.
- Seznam vmesnikov podaljša Zbirka okvir, medtem ko se ArrayList razširi AbstractList Razred in izvaja Seznam vmesniki.
- Imenski prostor za vmesnik List je System.Collection.Generic ker je imeni za ArrayList System.Collection.
- 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.