Diferența dintre listă și setată în Java

Autor: Laura McKinney
Data Creației: 2 Aprilie 2021
Data Actualizării: 15 Mai 2024
Anonim
Diferența dintre listă și setată în Java - Tehnologie
Diferența dintre listă și setată în Java - Tehnologie

Conţinut


Interfața List și Set extinde Colecția. Ambele mențin colecția de elemente sau obiecte. Dar, diferența majoră care le distinge una de cealaltă este Lista este o colecție de elemente ordonate, elementele sunt adăugate sau eliminate sau accesate cu ajutorul unei variabile index. Pe de altă parte, Set este o colecție de obiecte în care colecția nu permite elemente duplicate în ea. Să studiem alte diferențe între interfețele List și Set cu ajutorul graficului de comparație prezentat mai jos.

  1. Diagramă de comparație
  2. Definiție
  3. Diferențele cheie
  4. Concluzie

Diagramă de comparație

Baza pentru comparațieListă A stabilit
De bazăLista menține secvența elementelor stocate într-o listă.Setul nu menține în mod special ordinea de inserare, dar Linked HashSet menține ordinea de inserare.
dublareLista poate avea elemente duplicate în ea.Metoda add () returnează fals dacă încercați să inserați elementele duplicate.
metodePe lângă metodele definite în Colecție, List definește unele dintre propriile sale metode.Setul nu definește nicio metodă suplimentară.
Punerea în aplicare Lista este implementată de ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.Setul este implementat de HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.


Definiția List

Interfața de listă extinde interfața Colecție. O listă este o colecție ordonată de elemente sau obiecte. Spre deosebire de Set, List poate conține elemente duplicate. În plus față de metodele definite în Lista de colecție, definește unele metode proprii, cum ar fi metoda get () și set () bazată pe index. Metodele adăugați () și eliminați () moștenite din Colecția care adaugă sau elimină elementul specificat din indexul specificat în argumentul metodei. Lista este un fel de tablou a cărui dimensiune crește pe măsură ce adăugăm elemente în listă.

Lista nu definește nicio metodă care să funcționeze pe gama de indici dintr-o listă. Definește o metodă de sublist () care returnează o sublistă din lista inițială a unui interval specificat. Modificările pe care le faceți la sublistă apar și în lista inițială. Interfața listă este implementată de ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack.

Definiția Set

Interfața Set extinde interfața Colecție. Interfața setată este o colecție sau un grup de obiecte care nu are niciun obiect duplicat în ea. Asta înseamnă că două referințe nu se pot referi la un obiect sau o referință nu se poate referi la două obiecte sau nu se pot referi două referințe la Null. Ordinea sau secvența elementului nu este importantă Set, dar nu este faptul că interzice setul comandat.


Interfața Set nu definește nicio metodă în plus față de metoda definită în Colecție. În schimb, restricționează metodele de colectare add () și addall () pentru a adăuga orice obiect duplicat într-o colecție. Dacă încercați să adăugați orice obiect duplicat într-o colecție folosind metoda add () de colecție, aceasta returnează fals. În caz contrar, se întoarce adevărat. Interfața setată este implementată de HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

  1. Secvența de elemente / obiect dintr-o colecție este menținută în Listă, în timp ce Set nu menține ordinea elementelor, dar există o excepție LinkedHashSet menține ordinea de inserare.
  2. Lista poate avea elemente duplicate, deoarece identifică orice element cu indexul său, dar, Set nu permite niciun element duplicat, deoarece nu are niciun fel de element de index pentru a identifica orice obiect dintr-o colecție.
  3. Lista definește unele metode de la sine, pe lângă metodele definite în Colecție. Pe de altă parte, Set nu definește nicio metodă proprie, dar restricționează metodele Colecției pentru a adăuga orice elemente duplicate.
  4. Lista este implementată de interfețele ArrayList, LinkedList, CopyOnWriteArrayList, Vector, Stack. Pe de altă parte, Setul este implementat de interfețele HashSet, LinkedHashSet, EnumSet, TreeSet, CopyOnWriteArraySet.

Concluzie:

Utilizarea interfeței List and Set depinde de cerință. Dacă ordinea obiectelor / elementelor este importantă, atunci trebuie să folosiți interfața List. Dacă nu aveți nevoie de elemente duplicate din colecția dvs., atunci trebuie să utilizați Setare interfață