Jeśli chodzi o JDK 2.0, do grupowania obiektów w jedną jednostkę użyto Hashtable, Vectors i Arrays. Ale w JDK 8 powstał szkielet kolekcji. Na ogół zapewnia wiele interfejsów do pracy z gromadzeniem danych.
Wśród nich zestaw i lista służy do grupowania obiektów. Oba pomagają rozszerzyć interfejs kolekcji. Obie są dwiema z kilku struktur danych obsługiwanych przez c#. Oba te interfejsy są dość mylące, ale ten artykuł podkreśla różnice między zestawem a listą, aby wyjaśnić zamieszanie.
Zestaw a lista
Główna różnica między set a list polega na tym, że set nie zezwala na duplikaty, a jeśli coś takiego się pojawi, wartość zostanie automatycznie nadpisana. Z drugiej strony lista umożliwia przechowywanie zduplikowanych wartości. Iterator jest jedyną metodą używaną przez set, podczas gdy zarówno ListIterator, jak i metoda iteratora są używane przez list.
Set jest mutowalny, iterowalny i nieuporządkowanym typem danych kolekcji. Istotną zaletą korzystania z niego jest to, że do sprawdzenia konkretnego elementu zawartego w zestawie wykorzystuje wysoce zoptymalizowany.
Lista to zbiór elementów lub wartości różnych typów. Na liście elementy są oddzielone za pomocą (,), a także ujęte w nawiasy kwadratowe. Dostęp do elementów znajdujących się na liście można uzyskać za pomocą indeksu. Może przechowywać kilka różnych elementów.
Tabela porównawcza między zestawem a listą
Parametry porównania | Ustawić | Lista |
---|---|---|
Sekwencja | Niezamówiony | Zamówione |
Zduplikowane wartości | Nie przechowuje | Sklepy |
Wartości zerowe | Tylko singiel | Ma wiele |
Dostęp pozycyjny | tak | Nie |
Klasy starszej klasy | Nie | Tylko wektor |
Co to jest zestaw?
Pojęcie zbioru pojawia się również w przedmiocie matematyki i tutaj mniej lub więcej znaczy to samo. W większości przypadków jest to zbiór podobnych elementów i ogólnie oznacza zbiór elementów. Można to wyczyścić na przykładzie:
Wejście na zestaw: 20, 10, 30, 50
Jest przechowywany w zestawie jako 10, 20, 30, 50
Elementy, które są tutaj posortowane, nie są w kolejności wstawiania. Dlatego przed przechowywaniem elementów zawsze je sortuje, co jest cechą. Wyjątkiem jest tutaj linkedhashSet, ponieważ utrzymuje kolejność wstawiania elementów.
Jeśli chodzi o terminy komputerowe, kilka dodatkowych właściwości zawartych w tym zestawie to dziedziczenie i metody. Funkcje i metody są dość podobne i wykonują pewne zadania, takie jak usuwanie, iterowanie lub dodawanie przez zestaw elementów.
Termin dziedziczenie jest dobrze znany większości z nas i tutaj oznacza to samo. Może dziedziczyć metodę ze swojej kolekcji i być używany z interfejsem zestawu. Ustaw interfejs nic poza całym zestawem elementów, w tym metodami. Jeśli chodzi o ListIterator, nie można używać w zestawie elementów przemierzających.
Co to jest lista?
Lista jest podobna do tablic o dynamicznych rozmiarach zadeklarowanych w innych językach (ArrayList w Javie i vector w C++). Nie musi być zawsze jednorodne i dlatego jest najpotężniejszym narzędziem w Pythonie. W Pythonie listy mają określoną liczbę i są uporządkowane.
Listy nawet po ich utworzeniu można zmieniać, ponieważ są zmienne. Czy pojedyncza lista może zawierać DataTypes, takie jak ciągi, liczby całkowite, a także obiekty. Indeksowanie listy odbywa się za pomocą 0, które jest pierwszym indeksem. Zgodnie z określoną kolejnością elementy są indeksowane na liście.
Każdy element obecny na liście ma swoje określone miejsce, co pozwala na duplikowanie elementów na liście. Każdy element ma swoją odrębną wiarygodność i miejsce. Jest to przydatne narzędzie do zachowania sekwencji danych i dalszej iteracji po niej.
W liście Pythona istnieje wiele sposobów na wydrukowanie całej listy ze wszystkimi obecnymi elementami. Jeśli chodzi o drukowanie określonego zakresu elementów z listy, w grę wchodzi operacja wycinania. Zwykle wykonuje się to na listach za pomocą dwukropka.
Główne różnice między zestawem a listą
Wniosek
Można wnioskować, że zarówno zestaw, jak i lista służą do grupowania obiektów. Głównym celem jest rozszerzenie interfejsu kolekcji. Oba są obsługiwane przez C#, ponieważ należą do dwóch z kilku struktur danych. Zbiór zawiera różne elementy, ale w sposób nieuporządkowany, podczas gdy lista zawiera te same elementy w kolejności uporządkowanej.
Set nie zezwala na duplikaty, a jeśli coś takiego się pojawi, wartość zostanie automatycznie nadpisana. Z drugiej strony lista umożliwia przechowywanie zduplikowanych wartości. W zestawie znajduje się tylko jedna wartość null, podczas gdy na liście jest kilka wartości null. Iterator jest jedyną metodą używaną przez set, podczas gdy zarówno ListIterator, jak i metoda iteratora są używane przez list. W zestawie same elementy są indeksami, a każda pętla służy do uzyskiwania dostępu do swoich elementów. Z drugiej strony dostęp do elementów listy uzyskuje się za pomocą indeksu.