Razlika između popisa i arrayLista na Javi

Autor: Laura McKinney
Datum Stvaranja: 2 Travanj 2021
Datum Ažuriranja: 11 Svibanj 2024
Anonim
Java list vs arraylist
Video: Java list vs arraylist

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.

  1. Usporedni grafikon
  2. definicija
  3. Ključne razlike
  4. Zaključak

Usporedni grafikon

Osnove za usporedbuPopisArrayList
Osnovni, temeljniPopis je sučeljeArrayList je standardna klasa kolekcije.
SintaksaPopis sučeljaklasa ArrayList
Produžite / ProvestiPopis sučelja proširuje Zbirku okvira.ArrayList proširuje AbstractList i implementira popisno sučelje.
ProstorSystem.Collections.Generic.System.Collections.
RaditiKoristi 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.

  1. Jedna od najvažnijih razlika između Lista i ArrayLista je ta što je popis sučelje a ArrayList je standardni zbirka klasa.
  2. Popis sučelja proširuje Kolekcija okvira dok se ArrayList proširuje AbstractList Klasa i ona provodi Popis sučelja.
  3. Prostor imena za sučelje Popisa je System.Collection.Generic dok je prostor za imena ArrayList System.Collection.
  4. 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.