Różnica Między Listą A Zestawem

Spisu treści:

Różnica Między Listą A Zestawem
Różnica Między Listą A Zestawem

Wideo: Różnica Między Listą A Zestawem

Wideo: Różnica Między Listą A Zestawem
Wideo: Лиза Бу: Как книги помогают совершать открытия 2024, Listopad
Anonim

Kluczowa różnica - lista vs zestaw

Większość języków programowania używa tablic do przechowywania zestawu danych tego samego typu. Jedną z głównych wad tablic jest to, że po zadeklarowaniu rozmiaru tablicy nie można jej zmodyfikować. Jeśli programista chce przechowywać wartości przekraczające rozmiar tablicy, to powinien stworzyć nową tablicę i skopiować istniejące elementy do nowej tablicy. W takich sytuacjach można użyć kolekcji. Możliwe jest dodawanie elementów, usuwanie elementów i wiele innych operacji przy wsparciu kolekcji. W językach programowania, takich jak Java, dostępne są różne typy kolekcji. Lista i zestaw to interfejsy hierarchii kolekcji. Podstawowym interfejsem dla innych interfejsów jest kolekcja. Kluczowa różnica między List i Set polega na tym, że List obsługuje przechowywanie tego samego elementu wiele razy, podczas gdy Set nie obsługuje wielokrotnego przechowywania tego samego elementu. W związku z tym,Zestaw nie pozwala na powielanie.

ZAWARTOŚĆ

1. Przegląd i kluczowe różnice

2. Czym jest lista

3. Co jest zbiorem

4. Podobieństwa między listą a zestawem

5. Bezpośrednie porównanie - lista a zestaw w formie tabelarycznej

6. Podsumowanie

Co to jest lista?

Lista jest interfejsem, który rozszerza interfejs kolekcji. W interfejsie Collection istnieje wiele metod. Metoda add pomaga dodać element. Metoda usuwania polega na usunięciu elementu. Istnieje „metoda addAll”, aby dodać wiele elementów, a „metoda removeAll”, aby usunąć elementy z kolekcji. Metoda zawiera pomaga ustalić, czy określony obiekt jest obecny na liście, czy nie. „Zawiera wszystko” służy do sprawdzenia, czy zbiór obiektów jest obecny w kolekcji. Metoda iteratora służy do przechodzenia przez elementy listy. Ponieważ List rozszerza Collection, wszystkie metody Collection należą do List. Poza tymi metodami lista zawiera metody, takie jak get i set. Programista może uzyskać wartość o określonym indeksie za pomocą metody get. Programista może ustawić wartość określonego indeksu za pomocą metody set.„IndexOf” służy do znajdowania indeksu elementu.

Na liście operacje można wykonywać zgodnie z pozycją. Programista może podać element danych, który ma zostać dodany do indeksu. Więc zostanie dodany do określonego indeksu. Jeśli programista nie poda indeksu, element zostanie dodany na koniec listy. Utrzymuje również wprowadzone zamówienie. Jeśli zostanie dodany element 1, a następnie element2, to element1 będzie znajdować się przed elementem2.

Różnica między listą a zestawem
Różnica między listą a zestawem

Rysunek 01: Lista i zestaw

ArrayList, LinkedList, Vector to niektóre klasy implementujące List. W ArrayList dostęp do elementu jest szybki, ale wstawianie i usuwanie jest mniejsze. ArrayList nie jest bezpieczna wątkowo. Dostęp do tej samej tablicy ArrayList z wielu wątków może nie dać tego samego wyniku. W LinkedList elementy są połączone zarówno wstecz, jak i dalej. Wstawianie i usuwanie elementów za pomocą LinkedList jest szybsze niż ArrayList. LinkedList implementuje List i Queue Both. Vector jest podobny do ArrayList, ale jest bezpieczny dla bieżnika, ponieważ wszystkie metody są zsynchronizowane.

Co to jest zestaw?

Set to interfejs, który rozszerza interfejs Collection. Ponieważ interfejs Set rozszerza Collection, wszystkie metody Collection należą również do Set. Zestaw nie obsługuje wartości powielania. Dlatego programista nie może dwukrotnie przechowywać tego samego elementu. Zachowuje unikalny zestaw elementów. Interfejs SortedSet rozszerza interfejs Set. SortedSet utrzymuje elementy w kolejności posortowanej. Interfejs NavigableSet rozszerza SortedSet. NavigableSet zapewnia metody nawigacji, takie jak dół, podłoga, sufit itp.

HashSet, LinkedHashSet i TreeSet to niektóre klasy, które implementują interfejs Set. HashSet implementuje interfejs Set. Nie zachowuje wprowadzonego zamówienia. Jeśli wartości zostaną wstawione jako a, x, b, mogą być przechowywane jako, x, a, b. LinkedSet utrzymuje wstawione zamówienie. Jeśli elementy zostaną wstawione w kolejności a, x, b, kolejność przechowywania będzie wynosić a, x, b. TreeSet implementuje Set i NavigableSet. Nie zachowuje kolejności wstawiania, ale przechowuje elementy w posortowanej kolejności. Jeśli wstawiona kolejność to a, c, b, to elementy zostaną zapisane jako a, b, c. Wszystkie HashSet, LinkedHashSet i TreeSet nie będą miały żadnych zduplikowanych elementów.

Jakie są podobieństwa między listą a zestawem?

  • Interfejsy List i Set rozszerzają interfejs Collection.
  • Zarówno lista, jak i zbiór obsługują operacje, takie jak dodawanie i usuwanie elementów.

Jaka jest różnica między listą a zestawem?

Lista a zestaw

Interfejs listy jest interfejsem podrzędnym kolekcji, który zawiera metody wykonywania operacji, takich jak wstawianie, usuwanie na podstawie indeksu. Set Interface to interfejs podrzędny Collection, który zawiera metody wykonywania operacji, takich jak wstawianie, usuwanie elementów, przy zachowaniu unikatowych elementów.
Zajęcia
ArrayList, Vector i LinkedList to klasy implementujące interfejs List. HashSet, LinkedHashSet i TreeSet to klasy implementujące interfejs Set.
Powielanie elementów
Lista obsługuje powielanie elementów. Zestaw nie obsługuje powielania elementów. Elementy są wyjątkowe.

Podsumowanie - lista vs zestaw

Kolekcje służą do dynamicznego przechowywania elementów. Języki programowania, takie jak Java, zapewniają interfejs Collection. List i Set to dwa interfejsy należące do interfejsu Collection. Oba interfejsy rozszerzają kolekcję. W tym artykule omówiono różnicę między List i Set. Kluczową różnicą między List i Set jest to, że List obsługuje przechowywanie tego samego elementu wiele razy, podczas gdy Set nie obsługuje wielokrotnego przechowywania tego samego elementu. Zestaw zawsze zachowuje unikalne elementy.

Zalecane: