Samouczek C# ArrayList z przykładami
Co to jest ArrayList w C#?
Kolekcja ArrayList jest podobna do typu danych Arrays w języku C#. Największą różnicą jest dynamiczny charakter kolekcji list tablic.
W przypadku tablic należy zdefiniować liczbę elementów, które tablica może zawierać w momencie deklaracji tablicy. Jednak w przypadku kolekcji Array List nie trzeba tego robić wcześniej. Elementy można dodawać lub usuwać z kolekcji Array List w dowolnym momencie. Przyjrzyjmy się bliżej operacjom dostępnym dla kolekcji Array List.
Deklaracja listy tablic
Poniżej znajduje się deklaracja ArrayList. Lista tablic jest tworzona za pomocą typu danych ArrayList. Słowo kluczowe „new” służy do tworzenia obiektu ArrayList. Obiekt zostaje następnie przypisany do zmiennej a1. Zatem teraz zmienna a1 będzie używana w celu uzyskania dostępu do różnych elementów listy tablic.
ArrayList a1 = new ArrayList()
Dodawanie elementów do tablicy
Metoda add służy do dodawania elementu do ArrayList. Metodę add można wykorzystać do dodania dowolnego rodzaju elementu typu danych do listy tablic. Możesz więc dodać liczbę całkowitą, ciąg znaków, a nawet wartość logiczną do listy tablic. Ogólna składnia metody dodawania jest podana poniżej
ArrayList.add(element)
Poniżej znajduje się kilka przykładów zastosowania metody „dodaj”. Metodę add można wykorzystać do dodawania różnych typów danych do kolekcji Array List.
Poniżej możesz zobaczyć przykłady tego, jak możemy dodać ciągi liczb całkowitych, a nawet wartości logiczne do kolekcji Array List.
- a1.add(1) – Spowoduje to dodanie wartości całkowitej do kolekcji
- a1.add(“Przykład”) – Spowoduje to dodanie wartości String do kolekcji
- a1.add(true) – Spowoduje to dodanie wartości logicznej do kolekcji
Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej. Kod zostanie zapisany w naszym pliku Program.cs.
W poniższym programie napiszemy kod tworzący nową listę tablic. Pokażemy także, jak dodawać elementy i wyświetlać elementy listy Array.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1[0]); Console.WriteLine(a1[1]); Console.WriteLine(a1[2]); Console.ReadKey(); } } }
Wyjaśnienie kodu: -
- Pierwszy krok służy do zadeklarowania naszej listy tablic. Tutaj deklarujemy a1 jako zmienną przechowującą elementy naszej listy tablic.
- Następnie używamy słowa kluczowego add, aby dodać liczbę 1, ciąg „Przykład” i wartość logiczną „true” do listy tablic.
- Następnie używamy metody Console.WriteLine, aby wyświetlić na konsoli wartość każdego elementu listy tablic. Zauważysz, że podobnie jak tablice, możemy uzyskać dostęp do elementów poprzez ich pozycje indeksowe. Aby uzyskać dostęp do pierwszej pozycji listy tablic, używamy pozycji indeksu [0]. I tak dalej i tak dalej.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wyjście:
Z danych wyjściowych widać, że wszystkie elementy z listy tablic są wysyłane do konsoli.
Przyjrzyjmy się innym metodom dostępnym w ramach listy ArrayList.
Liczyć
Ta metoda służy do pobierania liczby elementów w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia.
ArrayList.Count() – Ta metoda zwróci liczbę elementów zawartych w liście tablic.
zawiera
Ta metoda służy do sprawdzania, czy element znajduje się w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia
ArrayList.Contains(element) – Ta metoda zwróci wartość true, jeśli element znajduje się na liście, w przeciwnym razie zwróci wartość false.
Usuń o
Ta metoda służy do usuwania elementu z określonej pozycji w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzenia
ArrayList.RemoveAt(index) – Ta metoda usunie element z określonej pozycji listy tablic.
Zobaczmy teraz, jak to działa na poziomie kodu. Cały poniższy kod zostanie zapisany w naszej aplikacji konsolowej. Kod zostanie zapisany w naszym pliku Program.cs.
W poniższym programie napiszemy kod, aby zobaczyć, jak możemy wykorzystać powyższe metody.
using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add(1); a1.Add("Example"); a1.Add(true); Console.WriteLine(a1.Count); Console.WriteLine(a1.Contains(2)); Console.WriteLine(a1[1]); a1.RemoveAt(1); Console.WriteLine(a1[1]); Console.ReadKey(); } } }
Wyjaśnienie kodu: -
- Zatem pierwszą właściwością, którą widzimy, jest właściwość Count. Otrzymujemy właściwość Count listy tablic a1, a następnie zapisujemy ją w konsoli.
- W drugiej części używamy metody Zawiera, aby sprawdzić, czy lista ArrayList a1 zawiera element 2. Następnie zapisujemy wynik do konsoli za pomocą polecenia Writeline.
- Na koniec, aby zaprezentować metodę Usuń element, wykonujemy poniższe kroki:
- Najpierw zapisujemy do konsoli wartość elementu znajdującego się na pozycji Index 1 listy tablic.
- Następnie usuwamy element znajdujący się na pozycji Index 1 listy tablic.
- Na koniec ponownie zapisujemy do konsoli wartość elementu znajdującego się na pozycji Index 1 listy tablic. Ten zestaw kroków da rzetelny pogląd, czy metoda usuwania będzie działać tak, jak powinna.
Jeżeli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlony zostanie następujący wynik.
Wyjście:
Dlaczego ostatnia wartość jest prawdziwa?
Jeśli widzisz sekwencję zdarzeń, element Przykład zostanie usunięty z tablicy, ponieważ znajduje się na pozycji 1. Pozycja 1 tablicy zostanie następnie zastąpiona tym, co znajdowało się wcześniej na pozycji 2, a wartość to „true”
Podsumowanie
Kolekcja Array List służy do przechowywania grupy elementów. Zaletą kolekcji list Array jest to, że jest dynamiczna. Możesz na bieżąco dodawać i usuwać elementy do kolekcji list tablic.