Razlika med seznamom in nastavitvijo v Javi

Avtor: Laura McKinney
Datum Ustvarjanja: 2 April 2021
Datum Posodobitve: 14 Maj 2024
Anonim
Java Tech Talk: Hey Spring Boot, where did my memory disappear?[#Ityoutubersru]
Video.: Java Tech Talk: Hey Spring Boot, where did my memory disappear?[#Ityoutubersru]

Vsebina


Vmesnik List in Set razširja zbirko. Oba vzdržujeta zbirko elementov ali predmetov. Toda glavna razlika, ki jih razlikuje drug od drugega, je Seznam zbirka urejenih elementov, elementi so dodani ali odstranjeni ali dostopni s pomočjo spremenljivke indeksa. Po drugi strani je Set zbirka predmetov, kjer zbirka ne dovoljuje podvojenih elementov v njej. Preučimo še nekaj razlik med vmesniki List in Set s pomočjo spodnje primerjalne tabele.

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

Primerjalna tabela

Osnove za primerjavoSeznam Set
OsnovniSeznam ohranja zaporedje elementov, shranjenih na seznamu.Set ne vzdržuje posebej vrstnega reda vstavljanja, vendar Linked HashSet vzdržuje vrstni red vstavljanja.
PodvajanjeSeznam ima lahko v sebi podvojene elemente.Če poskusite vstaviti podvojene elemente, metoda add () vrne napačno.
MetodePoleg metod, ki so opredeljene v zbirki, seznam določa nekatere svoje metode.Set ne določa nobene dodatne metode.
Izvajanje Seznam izvajajo ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Set izvajajo HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Opredelitev seznama

Seznam vmesnikov razširja vmesnik zbirke. Seznam je urejena zbirka elementov ali predmetov. Za razliko od Set, lahko Seznam vsebuje podvojene elemente. Poleg metod, opredeljenih v zbirki, definira tudi nekatere metode, kot so metoda get () in set (), ki temelji na indeksu. Metode add () in remove (), podedovane iz zbirke, ki doda ali odstrani določen element iz indeksa, določenega v argumentu metode. Seznam je vrsta matrike, katere velikost raste, ko dodajamo elemente na seznam.

Seznam ne določa nobene metode za delovanje na območju indeksov na seznamu. Določa metodo subliste (), ki vrne podpis s prvotnega seznama določenega obsega. Spremembe, ki jih naredite na seznamu, se prikažejo tudi na prvotnem seznamu. Seznam vmesnikov izvajajo ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.

Opredelitev Set

Vmesnik Set razširja vmesnik Collection. Vmesnik za nastavitev je zbirka ali skupina predmetov, ki v njej ne vsebuje nobenega podvojenega predmeta. To pomeni, da se dve referenci ne moreta sklicevati na en predmet ali ena referenca ne more biti sklicana na dva predmeta ali pa tudi dve referenci, ki se nanašata na Null. Vrstni red ali zaporedje elementa ni pomembno Set, vendar ne prepoveduje urejenega niza.


Vmesnik za nastavitev poleg metode, določene v zbirki, ne določa nobene metode. Namesto tega omejuje načine zbiranja add () in addall (), da dodajo podvojene predmete v zbirko. Če poskusite v zbirko dodati kateri koli podvojeni predmet z uporabo metode dodajanja () zbirke, vrne napačno. V nasprotnem primeru se vrne res. Vmesnik za nastavitve izvajajo HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. Zaporedje elementov / predmeta v zbirki se vzdržuje v seznamu, medtem ko Set ne vzdržuje vrstnega reda elementov, obstaja pa izjema, ko LinkedHashSet vzdržuje vrstni red vstavljanja.
  2. Seznam lahko vsebuje podvojene elemente, saj identificira kateri koli element s svojim indeksom, vendar Set ne dovoli podvojenih elementov, saj nima nobenega elementa vrste indeksa, da bi identificiral kateri koli predmet v zbirki.
  3. Seznam določi nekatere metode poleg metod, opredeljenih v Zbirki. Po drugi strani Set ne definira nobene metode, ampak metode zbiranja omejuje na dodajanje podvojenih elementov.
  4. Seznam izvajajo vmesniki ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Po drugi strani Set izvajajo vmesniki HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Zaključek:

Uporaba vmesnika List in Set je odvisna od zahteve. Če je vrstni red predmetov / elementov pomemben, morate uporabiti seznam vmesnikov. Če v svoji zbirki ne potrebujete dvojnikov, potem morate uporabiti vmesnik Set