Stronę tą wyświetlono już: 4378 razy
Deklaracja i dodawanie elementów do obiektu typu List
Typ List jest listą, w której można przechowywać obiekty podanego przy deklaracji typu. Oto przykład utworzenia obiektu typu List:
Od tej pory do list można dodawać tylko i wyłącznie obiekty typu int. Sposób dodawania ich jest bardzo podobny do tego związanego z typem ArrayList i wygląda następująco:
Można też dodawać wiele elementów, które zostały zawarte w innym iterowalnym obiekcie klasy, który musi przechowywać dane tego samego typu co
Deklaracja kontenera List znajduje się w przestrzeni nazw:
Wstawianie elementów do kontenera typu List
I znów, tak jak w przypadku typu ArrayList tak i w przypadku List można wstawiać pojedynczy element do kontenera za pomocą metody Insert. Oto przykład:
Wynik działania powyższego kodu:
10 20 10 30 40
Można również wstawić całą serię wartości, zapisanych w jakimś iterowalnym obiekcie za pomocą metody InsertRange:
Wynik działania powyższego kodu:
10 20 10 20 10 30 40 10 30 40
Usuwanie elementów z kontenera typu List
Za pomocą metody Remove można usunąć pierwszy element, jaki wystąpi w kontenerze i będzie miał podaną wartość:
Wynik działania powyższego kodu:
10 20 10 30 40
Można również usunąć element znajdujący się na podanej pozycji w kontenerze za pomocą metody RemoveAt:
Wynik działania powyższego kodu:
10 20 10 30 40
Możliwe jest również usunięcie wielu elementów za pomocą metody RomoveRange:
Wynik działania powyższego kodu:
10 20 10 40
Możliwe jest usuwanie elementów według własnych kryteriów, w tym celu trzeba utworzyć metodę statyczną, która będzie zwracała wartość typu bool i przyjmowała jako argument jeden parametr typu, który przechowuje dany kontener. Przykładowa metoda:
A teraz usuwanie wszystkich elementów z kontenera mniejszych od 10-ciu przy pomocy metody RemoveAll:
Wynik działania powyższego kodu:
10 20 10 40
Chcesz usunąć wszystkie elementy z kontenera? Wystarczy użyć metody Clear.
Odwracanie kolejności elementów zawartych w kontenerze
Za pomocą metody Reverse można odwrócić kolejność ułożenia elementów zawartych w kontenerze:
Wynik działania powyższego kodu:
5 4 3 2 1
Sortowanie elementów kontenera
Metoda Sort umożliwia sortowanie elementów, pod warunkiem że te dziedziczą po IComparable. Oto przykład działania:
Wynik działania powyższego kodu:
1 2 3 4 5
Można też użyć przeładowanej metody Sort, która przyjmuje jako argument wskaźnik do metody porównującej. Metoda porównująca musi zwracać wartość liczbową typu int i przyjmować dwa argumenty typu, odpowiadającemu typowi obiektów, jakie dany kontener przechowuje. Przykład funkcji porównującej, która umożliwi sortowania od najmniejszego do największego elementu:
A oto i przykład zastosowania w praktyce powyższej metody do sortowania kontenera zwierającego elementy typu int:
Wynik działania powyższego kodu:
5 4 3 2 1
Kopiowanie zawartości kontenera do tablicy
Istnieje metoda ToArray, która zwraca kopię tablicy obiektów zawartych w kontenerze. Oto przykład użycia:
Wynik działania powyższego kodu:
1 2 3 4 5
Indeksowanie i właściwość Count
Do elementów kontenera typu List można się odwoływać tak jak do elementów tablicy Array czy też ArrayList. Z kolei właściwość Count umożliwia pozyskanie informacji o liczbie elementów tablicy:
Wynik działania powyższego kodu:
1 2 4 4 5 Liczba elementów w kontenerze: 5
Sumowanie danych zawartych w kontenerze
Dla typów liczbowych można użyć metody Sum:
Wynik działania powyższego kodu:
15
Dla prostej klasy Point2D:
Można wykonać sumowanie poszczególnych jej pól w sposób następujący:
Wynik działania powyższego kodu:
120 430
Znajdowanie największego elementu w kontenerze
Dla typów prostych jak np. int, czy też double przechowywanych w kontenerze można użyć bezparametrowej metody Max:
Wynik działania powyższego kodu:
Maksymalna wartość w kontenerze: 100
Znajdowanie najmniejszego elementu w kontenerze
Dla typów prostych jak np. int, czy też double przechowywanych w kontenerze można użyć bezparametrowej metody Min:
Wynik działania powyższego kodu:
Minimalna wartość w kontenerze: -20