Kolekcje w języku C#
Kolekcje - zbiory elementów różnego lub tego samego typu.
Kolekcje możemy porównać do tablic jednak kolekcje zamiast przetrzymywać typy wartościowe przetrzymują
elementy kolekcji jako obiekty. Niesie to ze sobą pewne konsekwencje. Tablica przechowuje dane określonego typu natomiast kolekcja przetrzymuje wszystko jako obiekty, nie musimy podawać typu więc za każdym razem musi zostać wykonane rzutowanie. Kolekcje w przeciwieństwie do tablic nie mają określonego rozmiaru, w zależności od potrzeb zmieniają dynamicznie rozmiar.
Więcej informacji na temat kolekcji:
http://msdn.microsoft.com/pl-pl/library/System.Collections.aspx
Kolekcja ArrayList
Kolekcja
ArrayList jest bardzo podobna do tablic i można ją traktować jako ulepszenie tablic.
Pozwala w przeciwieństwie do tablic
usuwać lub
dodawać elementy w środku zbioru, pozostałe elementy zostają przesunięte.
Wybrane metody dostępne w ArrayList:
- Add() - dodaje obiekt na końcu kolekcji ArrayList,
- Remove() - usuwa wybrany element z kolekcji,
- Insert() - dodaje element do kolekcji pod określonym indeksem,
- Clear() - czyści zawartość kolekcji,
- ToArray() - kopiuje zawartość kolekcji do tablicy obiektów,
- IndexOf() - wyszukuje indeks wybranego elementu,
- RemoveRange() - kasuje elementy z określonego przedziału.
- Sort() - sortuje elementy,
- Reverse() - odwraca kolejność elementów kolekcji.
Więcej informacji na temat kolekcji ArrayList:
http://msdn.microsoft.com/pl-pl/library/system.collections.arraylist.aspx
Kolekcja HashTable
HashTable pozwala na użycie
innych indeksów aniżeli liczby całkowite. Składa się z
dwóch tablic, w której jedna tablica przechowuje
klucze a druga
wartości przypisane tym kluczom. Zarówno klucz jak i wartość są obiektami. Klucze nie mogą się powtarzać, dlatego została zaimplementowana metoda
ContainsKey(), która sprawdza czy dany klucz już istnieje. W kolekcji
HashTable nie ma typowania, dlatego możemy używać różnych typów w obrębie jednej kolekcji. Kolekcja
HashTable jest
Thread Safety a więc możemy z niej korzystać w aplikacji wielowątkowej, wiele wątków może w tym samym czasie odczytywać dane z kolekcji jednak tylko jeden wątek może zapisywać do kolekcji.
Więcej informacji na temat kolekcji HashTable:
http://msdn.microsoft.com/pl-pl/library/system.collections.hashtable.aspx
Kolekcja SortedList
Kolekcja
SortedList działa podobnie do
HashTable jednak wartości w kolekcji są
sortowane po kluczach. Podczas umieszczania elementów w kolekcji, automatycznie zostaje on umieszczony w odpowiednim miejscu.
Więcej informacji na temat kolekcji SortedList:
http://msdn.microsoft.com/pl-pl/library/system.collections.sortedlist.aspx
Kolekcja Queue - Kolejka
Kolekcja Queue działa według mechanizmu
FIFO. Elementy dodawane do kolejki zawsze zostaje umieszczony na końcu, natomiast elementy pobierane są z początku. Za pomocą metody
Equeue() dodajemy elementy do kolejki, natomiast za pomocą metody
Dequeue() pobieramy elementy z kolejki.
Więcej informacji na temat kolekcji Queue:
http://msdn.microsoft.com/pl-pl/library/system.collections.queue.aspx
Kolekcja Stack - Stos
Kolekcja
Stack działa według mechanizmu
LIFO. Elementy zarówno dodawane jak i
pobierane są ze spodu stosu. Ostatnio dodany element będzie pierwszym elementem do pobrania ze stosu. Za pomocą metody
Push() dodajemy elementy do stosu, natomiast za pomocą metody
Pop() wyciągamy elementy ze stosu.
Więcej informacji na temat kolekcji Stack:
http://msdn.microsoft.com/pl-pl/library/system.collections.stack.aspx
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):