Co to jest ArrayList w C #?
Kolekcja ArrayList jest podobna do typu danych Arrays w C #. Największą różnicą jest dynamiczny charakter kolekcji listy tablic.
W przypadku tablic musisz zdefiniować liczbę elementów, które tablica może pomieścić w momencie deklaracji tablicy. Ale 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ę bardziej szczegółowo operacjom dostępnym dla kolekcji listy tablic.
Deklaracja listy tablic
Deklarację ArrayList podano poniżej. Lista tablic jest tworzona za pomocą typu danych ArrayList. Słowo kluczowe „new” służy do tworzenia obiektu ArrayList. Obiekt jest następnie przypisywany do zmiennej a1. Więc teraz zmienna a1 będzie używana do uzyskiwania dostępu do różnych elementów listy tablicy.
ArrayList a1 = new ArrayList()
Dodawanie elementów do tablicy
Metoda add służy do dodawania elementu do ArrayList. Metoda add może służyć do dodawania dowolnego rodzaju elementu typu danych do listy tablic. Możesz więc dodać liczbę całkowitą, ciąg, 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 wykorzystania metody „dodaj”. Metoda add może służyć do dodawania różnych typów danych do kolekcji Array List.
Poniżej możesz zobaczyć przykłady, w jaki sposób możemy dodać ciągi znaków 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 typu 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 do utworzenia nowej listy tablic. Pokażemy również, aby dodać elementy i wyświetlić 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();}}}
Objaśnienie kodu: -
- Pierwszym krokiem jest zadeklarowanie 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 znaków „Przykład” i wartość logiczną „prawda” do listy tablic.
- Następnie używamy metody Console.WriteLine, aby wyświetlić w konsoli wartość każdego elementu listy tablic. Zauważysz, że podobnie jak tablice, możemy uzyskać dostęp do elementów poprzez ich pozycje indeksu. Tak więc, aby uzyskać dostęp do pierwszej pozycji listy tablic, używamy pozycji indeksu [0]. I tak dalej i tak dalej.
Jeśli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlone zostanie następujące wyjście.
Wynik:
Na podstawie danych wyjściowych widać, że wszystkie elementy z listy tablic są wysyłane do konsoli.
Spójrzmy na kilka innych metod, które są dostępne jako część 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, które zawiera lista tablic.
Zawiera
Ta metoda służy do sprawdzania, czy element jest obecny w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzeniaArrayList.Contains (element) - Ta metoda zwróci wartość true, jeśli element znajduje się na liście, w przeciwnym razie zwróci wartość false.
UsuńAt
Ta metoda służy do usuwania elementu w określonej pozycji w kolekcji ArrayList. Poniżej znajduje się ogólna składnia tego stwierdzeniaArrayList.RemoveAt (index) - Ta metoda usuwa element z określonej pozycji na liście Array.
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ć wyżej wymienione 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();}}}
Objaśnienie kodu: -
- Więc pierwszą właściwością, którą widzimy, jest właściwość Count. Pobieramy właściwość Count z listy tablic a1, a następnie zapisujemy ją w konsoli.
- W drugiej części używamy metody Contains, aby sprawdzić, czy ArrayList a1 zawiera element 2. Następnie zapisujemy wynik do konsoli za pomocą polecenia Writeline.
- Na koniec, aby zaprezentować metodę Remove element, wykonujemy poniższe kroki,
- Najpierw zapisujemy wartość elementu w pozycji indeksu 1 na liście tablic do konsoli.
- Następnie usuwamy element znajdujący się w pozycji indeksu 1 z listy tablic.
- Na koniec ponownie zapisujemy wartość elementu w pozycji indeksu 1 listy tablic do konsoli. Ten zestaw kroków da rzetelny pogląd, czy metoda usuwania będzie działać tak, jak powinna.
Jeśli powyższy kod zostanie wpisany poprawnie i program zostanie uruchomiony, wyświetlone zostanie następujące wyjście.
Wynik:
Dlaczego ostatnia wartość jest prawdziwa?
Jeśli widzisz sekwencję zdarzeń, element Przykład jest usuwany z tablicy, ponieważ znajduje się on na pozycji 1. Pozycja 1 tablicy zostaje wówczas zastąpiona tym, co wcześniej znajdowało się na pozycji 2, czyli wartością „prawda”
Podsumowanie
- Kolekcja Array List służy do przechowywania grupy elementów. Zaletą kolekcji Array list jest to, że jest dynamiczna. Możesz dodawać i usuwać elementy w locie do kolekcji listy tablic.