Diferența cheie - Listă vs Setare
Majoritatea limbajelor de programare folosesc tablouri pentru a stoca un set de date de același tip. Un dezavantaj major al matricilor este că, odată ce dimensiunea matricei este declarată, aceasta nu poate fi modificată. Dacă programatorul dorește să stocheze valori care depășesc dimensiunea matricei, atunci ar trebui să creeze o matrice nouă și să copieze elementele existente în noua matrice. În aceste situații, pot fi folosite colecții. Este posibil să adăugați elemente, să ștergeți elemente și multe alte operații cu sprijinul colecțiilor. Există diferite tipuri de colecții disponibile în limbaje de programare, cum ar fi Java. List și Set sunt interfețe ale ierarhiei colecțiilor. Interfața de bază pentru alte interfețe este Colecția. Diferența cheie între List și Set este că List acceptă stocarea aceluiași element de mai multe ori, în timp ce Set nu acceptă stocarea aceluiași element de mai multe ori. Prin urmare,un set nu permite duplicarea.
CUPRINS
1. Prezentare generală și diferența cheie
2. Ce este lista
3. Ce este setul
4. Asemănări între listă și set
5. Comparare side by side - List vs Set în formă tabelară
6. Rezumat
Ce este List?
Lista este o interfață care extinde interfața Colecție. Există o serie de metode în interfața Colecție. Metoda add ajută la adăugarea unui element. „Metoda de eliminare” este de a elimina un element. Există „addAll method” pentru a adăuga mai multe elemente în timp ce „removeAll method” pentru a elimina elementele din colecție. Metoda conține ajută la găsirea dacă un anumit obiect este prezent sau nu în Listă. „Contine toate” este de a afla dacă un set de obiecte sunt prezente în colecție. Metoda iteratorului este utilizată pentru a parcurge elementele din listă. Pe măsură ce Lista extinde Colecția, toate metodele de Colecție aparțin Listei. În afară de aceste metode, Lista are metode precum get și set. Programatorul poate obține o valoare la un anumit indice folosind metoda get. Programatorul poate seta o valoare la un anumit indice folosind metoda setată.„IndexOf” este utilizat pentru a găsi indexul unui element.
Într-o Listă, operațiile pot fi efectuate în funcție de poziție. Programatorul poate furniza elementul de date care urmează să fie adăugat la index. Deci va fi adăugat la indexul specific. Dacă programatorul nu dă un index, elementul va fi adăugat la sfârșitul listei. De asemenea, menține ordinea inserată. Dacă elementul 1 este adăugat și apoi elementul 2 este adăugat, atunci elementul 1 va fi înaintea elementului 2.
Figura 01: Listă și setare
ArrayList, LinkedList, Vector sunt câteva clase care implementează List. Într-o listă Array, accesarea unui element este rapidă, dar introducerea și ștergerea sunt mai mici. ArrayList nu este sigur pentru fire. Accesarea aceluiași ArrayList din mai multe fire poate să nu dea același rezultat. Într-o LinkedList, elementele sunt legate atât înapoi cât și înapoi. Inserarea și ștergerea elementelor folosind o LinkedList este mai rapidă decât ArrayList. LinkedList implementează ambele List și Queue. Vectorul este similar cu ArrayList, dar este sigur, deoarece toate metodele sunt sincronizate.
Ce este Set?
Set este o interfață care extinde interfața Colecție. Pe măsură ce interfața Set extinde Colecția, toate metodele Colecției aparțin și Setului. Un set nu acceptă valorile de duplicare. Prin urmare, programatorul nu poate stoca același element de două ori. Păstrează un set unic de elemente. Interfața SortedSet extinde Set interface. SortedSet menține elementele în ordine sortată. Interfața NavigableSet extinde SortedSet. NavigableSet oferă metode de navigație, cum ar fi partea inferioară, podeaua, tavanul etc.
HashSet, LinkedHashSet și TreeSet sunt câteva clase care implementează interfața Set. HashSet implementează interfața Set. Nu menține ordinea inserată. Dacă valorile sunt inserate ca a, x, b s-ar putea stoca ca, x, a, b. LinkedSet menține ordinea inserată. Dacă elementele sunt inserate în ordinea a, x, b, ordinea de stocare va fi a, x, b. TreeSet implementează Set și NavigableSet. Nu menține ordinea de inserare, dar stochează elementele în ordinea sortată. Dacă ordinea inserată este a, c, b, atunci elementele vor fi stocate ca a, b, c. Toate HashSet, LinkedHashSet și TreeSet nu vor avea niciun element duplicat.
Care sunt asemănările dintre listă și set?
- Atât interfețele List cât și Set extind interfața de colectare.
- Atât Listă, cât și Setare acceptă operațiuni, cum ar fi adăugarea, eliminarea elementelor.
Care este diferența dintre listă și set?
Listă vs Setare |
|
List Interface este subinterfața Colecției care conține metode pentru a efectua operațiuni precum inserarea, ștergerea pe baza indexului. | Set Interface este o subinterfață a colecției care conține metode pentru a efectua operațiuni precum inserarea, ștergerea elementelor, menținând în același timp elementele unice. |
Clase | |
ArrayList, Vector și LinkedList sunt clase care implementează interfața List. | HashSet, LinkedHashSet și TreeSet sunt clase care implementează interfața Set. |
Duplicarea elementelor | |
Lista acceptă duplicarea elementelor. | Setul nu acceptă duplicarea elementelor. Elementele sunt unice. |
Rezumat - Listă vs Setare
Colecțiile sunt utilizate pentru a stoca elemente dinamic. Limbaje de programare, cum ar fi Java, oferă interfață de colecție. List și Set sunt două interfețe care aparțin interfeței Colecției. Ambele interfețe extind Colecția. Acest articol a discutat despre diferența dintre List și Set. Diferența cheie între List și Set este că List acceptă stocarea aceluiași element de mai multe ori, în timp ce Set nu acceptă stocarea aceluiași element de mai multe ori. Setul păstrează întotdeauna elemente unice.