Diferența dintre listă și set

Cuprins:

Diferența dintre listă și set
Diferența dintre listă și set

Video: Diferența dintre listă și set

Video: Diferența dintre listă și set
Video: Diferența dintre un Tuple, Set și o Lista în Python Ep.1 2024, Iulie
Anonim

Diferența cheie – Listă vs Set

Majoritatea limbajelor de programare folosesc matrice pentru a stoca un set de date de același tip. Un dezavantaj major al matricelor este că, odată ce dimensiunea matricei este declarată, aceasta nu poate fi modificată. Dacă programatorul dorește să stocheze o valoare care depășește dimensiunea matricei, atunci ar trebui să creeze o nouă matrice ș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țiuni cu sprijinul colecțiilor. Există diferite tipuri de colecții disponibile în limbaje de programare precum Java. Listă și Set sunt interfețe ale ierarhiei colecțiilor. Interfața de bază pentru alte interfețe este Collection. Diferența cheie dintre 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.

Ce este Lista?

Lista este o interfață care extinde interfața Collection. Există o serie de metode în interfața Collection. Metoda de adăugare ajută la adăugarea unui element. „Metoda de eliminare” este eliminarea unui element. Există „metoda addAll” pentru a adăuga mai multe elemente, în timp ce „metoda removeAll” pentru a elimina elementele din colecție. Metoda contains vă ajută să aflați dacă un anumit obiect este prezent sau nu în Listă. „ContainsAll” este de a afla dacă un set de obiecte este prezent în colecție. Metoda iteratorului este folosită pentru a parcurge elementele listei. Pe măsură ce List extinde Colecția, toate metodele de Colecție aparțin Listă. În afară de aceste metode, Lista are metode precum get și set. Programatorul poate obține o valoare la un index specific folosind metoda get. Programatorul poate seta o valoare la un index specific folosind metoda setării. „indexOf” este folosit pentru a găsi indexul unui element.

Într-o listă, operațiunile 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 oferă un index, elementul va fi adăugat la sfârșitul Listei. De asemenea, menține ordinea inserată. Dacă este adăugat elementul 1 și apoi este adăugat elementul2, atunci elementul1 va fi înaintea elementului2.

Diferența dintre listă și set
Diferența dintre listă și set

Figura 01: Listează și setează

ArrayList, LinkedList, Vector sunt câteva clase care implementează List. Într-o ArrayList, accesarea unui element este rapidă, dar inserarea și ștergerea sunt mai mici. ArrayList nu este sigură pentru fire. Accesarea aceluiași ArrayList din mai multe fire de execuție ar putea să nu dea același rezultat. Într-o Lista LinkedList, elementele sunt legate atât înapoi, cât și înainte. Inserarea și ștergerea elementelor folosind un LinkedList este mai rapidă decât ArrayList. LinkedList implementează List și Queue Both. Vector este similar cu ArrayList, dar este sigur pentru căi de rulare, deoarece toate metodele sunt sincronizate.

Ce este setat?

Set este o interfață care extinde interfața Collection. Pe măsură ce interfața Set extinde Colectarea, toate metodele de Colectare aparțin, de asemenea, Set. Un set nu acceptă valori de duplicare. Prin urmare, programatorul nu poate stoca același element de două ori. Menține un set unic de elemente. Interfața SortedSet extinde interfața Set. SortedSet menține elementele în ordine sortată. Interfața NavigableSet extinde SortedSet. NavigableSet oferă metode de navigare, cum ar fi jos, podea, tavan etc.

HashSet, LinkedHashSet și TreeSet sunt câteva clase care implementează interfața Set. HashSet implementează interfața Set. Nu menține ordinea introdusă. Dacă valorile sunt introduse 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, ci stochează elementele în ordinea sortată. Dacă ordinea introdusă 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 Setează extind interfața de colecție.
  • Atât Listă, cât și Setați operațiuni de asistență, cum ar fi adăugarea, eliminarea elementelor.

Care este diferența dintre listă și set?

List vs Set

List Interface este sub-interfața Collection care conține metode pentru a efectua operațiuni precum inserarea, ștergerea pe baza indexului. Set Interface este o subinterfață a Collection care conține metode pentru a efectua operațiuni precum inserarea, ștergerea elementelor, păstrând în același timp elementele unice.
cursuri
ArrayList, Vector și LinkedList sunt clase care implementează interfața List. HashSet, LinkedHashSet și TreeSet sunt clase care implementează interfața Set.
Duplicare element
Lista acceptă duplicarea elementelor. Set nu acceptă duplicarea elementelor. Elementele sunt unice.

Rezumat – Listă vs Set

Colecțiile sunt folosite pentru a stoca elemente în mod dinamic. Limbajele de programare, cum ar fi Java, oferă interfață de colecție. Listă și Set sunt două interfețe care aparțin interfeței Collection. Ambele interfețe extind Colecția. Acest articol a discutat despre diferența dintre Listă și Set. Diferența cheie dintre 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.

Recomandat: