Razlika između popisa i arrayLista na Javi
Sadržaj
List i ArrayList su članovi okvira Collection. Popis je skup elemenata u nizu u kojem je svaki element objekt, a elementima se pristupa tamo pozicijom (indeksom). ArrayList stvara dinamički niz objekata koji povećava ili smanjuje veličinu kad god je potrebno. Primarna razlika između Popisa i ArrayLista je ta Popis je sučelje i ArrayList je klasa. Ispitajmo razliku između Popisa i ArrayLista uz pomoć tablice za usporedbu prikazanu dolje.
- Usporedni grafikon
- definicija
- Ključne razlike
- Zaključak
Usporedni grafikon
Osnove za usporedbu | Popis | ArrayList |
---|---|---|
Osnovni, temeljni | Popis je sučelje | ArrayList je standardna klasa kolekcije. |
Sintaksa | Popis sučelja | klasa ArrayList |
Produžite / Provesti | Popis sučelja proširuje Zbirku okvira. | ArrayList proširuje AbstractList i implementira popisno sučelje. |
Prostor | System.Collections.Generic. | System.Collections. |
Raditi | Koristi se za izradu popisa elemenata (objekata) koji su povezani s njihovim indeksnim brojevima. | ArrayList koristi se za stvaranje dinamičkog niza koji sadrži objekte. |
Definicija popisa
Popis je an sučelje koja produžuje Kolekcija okvir. Sučelje popisa opisuje zbirku elemenata koji su složeni jedan za drugim. Sučelje popisa implementiraju sljedeće standardne klase zbirke poput ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack, Sučelje popisa ima elemente koji su povezani s njihovim indeksnim brojevima. Elementu na popisu možete pristupiti prema njegovom položaju (indeksu) na popisu. Popis stvoren pomoću sučelja popisa počinje s indeksom koji se temelji na nuli.
Pored metoda koje je naslijedio okvir Collection, sučelje Lista također definira neku vlastitu metodu. Metode koje je dodalo sučelje popisa su: dodaj (int, E) i addAll (int, zbirka), Ove metode dodaju element popisu svojim indeksom. Metode unutar popisa mogu izuzeti iznimku poput UnsupportedOperationException ako metoda nije u mogućnosti izmijeniti popis. Kad je jedan objekt na popisu nespojiv s drugim objektom na popisu, tada ClassCastException bačen.Novi elementi nisu dopušteni na popisu ako pokušate umetnuti null objekt u popis, NullPointerException je bačen.
Možete dobiti element s popisa koristeći dobiti() metoda. Na popisu možete postaviti vrijednost elementa koristeći set () metoda. Podlista također možete dobiti s popisa pomoću metode podpopisa (), Postaje prikladno raditi s podlistkom umjesto popisa.
Definicija ArrayLista
Jedna od standardnih zbirki klase je ArrayList koja se proširuje AbstractList klase i također implementira Popis sučelje. Klasa ArrayList koristi se za stvaranje dinamičkih nizova koji rastu i smanjuju se kad god je to potrebno. Popis kreiran pomoću klase ArrayList nije ništa drugo nego niz objekata. U Javi standardni niz ima fiksnu duljinu, pa morate unaprijed znati veličinu matrice. No, može se dogoditi da možda ne znate koja je duljina polja potrebna do vremena pokretanja. Stoga je okvir Collection uveo klasu ArrayList da bi prevladao taj problem.
ArrayList ima konstruktore koji stvaraju niz svojim inicijalnim kapacitetom. Iako se kapacitet objekta klase ArrayList automatski povećava kad se elementi dodaju u niz, ipak možete ručno povećati kapacitet objekta ArrayList pomoću metode ensureCapacity (), Bolje je u početku povećati kapacitet niza, umjesto da kasnije memoriju preraspodijelite kasnije. Jer preraspodjela je skuplja od istodobne dodjele memorije.
- Jedna od najvažnijih razlika između Lista i ArrayLista je ta što je popis sučelje a ArrayList je standardni zbirka klasa.
- Popis sučelja proširuje Kolekcija okvira dok se ArrayList proširuje AbstractList Klasa i ona provodi Popis sučelja.
- Prostor imena za sučelje Popisa je System.Collection.Generic dok je prostor za imena ArrayList System.Collection.
- Sučelje popisa stvara zbirku elemenata koji su pohranjeni u slijedu i koji su identificirani ili im se pristupa indeksnim brojem. S druge strane, ArrayList stvara niz objekata u kojima niz može dinamički rasti kada je potrebno.
Zaključak:
ArrayList prevladava problem statičke matrice u standardnoj Javi, tj. Matrica ne može narasti u veličini nakon što je kreirana. Kad se niz stvori pomoću ArrayList-a, stvara se dinamički niz koji može rasti i smanjivati se po veličini prema potrebi. Standardna zbirka klase ArrayList proširuje sučelje List.