Lista

Lista

Listy są bardzo podobne do tablic, ale w przeciwieństwie do tablic można zmieniać ich rozmiar. To sprawia, że listy są bardzo przydatne do przechowywania danych, gdy nie wiesz, ile elementów będziesz musiał przechowywać w momencie tworzenia kolekcji.

Lista automatycznie rozszerza się i kurczy w zależności od zawartości. Po utworzeniu obiektu listy w łatwy sposób możemy wstawiać elementy do listy, usuwać wybrane elementy z dowolnego miejsca na liście, podglądać ich zawartość, a nawet przenosić z jednego miejsca w inne miejsce.

Klasa List jest wbudowana w .NET Framework i pozwala robić z obiektami różne rzeczy, także takie, których nie możesz zrobić przy użyciu zwykłej tablicy.

Oto kilka możliwości wykorzystania Listy:

Możesz ją stworzyć.

Musisz określić typ obiektów lub wartości, które lista będzie przechowywała.
Dokonujesz tego za pomocą nawiasów trójkątnych podczas tworzenia listy
przy użyciu słowa kluczowego new.

List<City> citys = new List<City>();

Możesz do niej coś dodać.   

Używając metody Add() do której przekazujemy element do dodania. Dodając element do listy dodajesz go zawsze na koniec listy.

City city = new City("Katowice", "SLA", "Polska", 4524091, 2180662);
citys.Add(city);

Możesz dodać do niej coś jeszcze.

City city2 = new City("Kraków", "KRA", "Polska", 3725051, 1620732);
citys.Add(city2);

Możesz wstawiać element w dowolne miejsce na liście.

Używając metody Insert() do której przekazujemy element do dodania i index który mówi na jakiej pozycji ma być dodany element.

var index = 3;
citys.Insert(index, city);

Możesz sprawdzić ile jest w niej elementów.

Używając właściwości Count.

int size = citys.Count;

Możesz sprawdzić czy lista zawiera konkretny element.

Używając metody Contains() do której przekazujemy element do sprawdzenia.

bool isIn = citys.Contains(city);

Możesz określić w którym miejscu się on znajduje.

Używając metody IndexOf() do której przekazujemy element do sprawdzenia.

int ind = citys.IndexOf(city);

Możesz usunąć z niej coś.

Używając metody Remove() do której przekazujemy element do usunięcia lub RemoveAt() do której przekazujemy index elementu do usunięcia.

citys.Remove(city);
citys.RemoveAt(index);

Możesz wyszukać pierwszy element który spełnia określone kryteria.

Używając metody FindIndex(), która przyjmuje jako parametr coś, co nazywa się    
predykatem. Co to predykat wyjaśniam na kursie C# wprowadzenie do kolekcji.

int index = citys.FindIndex(city => city.Population < 2000000);

Możesz wyczyścić listę, usunąć wszystkie jej elementy.

Używając metody Clear().

citys.Clear();

Listy kurczą się i rosną dynamicznie.

Jedną z najlepszych właściwości List jest to, że nie musisz znać ich rozmiaru podczas tworzenia. Lista automatycznie rozszerza się i kurczy w zależności od zawartości.

Całościowe omówienie tematu kolekcji (tablica, lista, kolejka, stos, słownik).
Wiele przydatnych wskazówek i dobrych praktyk dostępne jest na kursie:

https://dev-hobby.pl/kursy/c-wprowadzenie-do-kolekcji/

1 comment

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *