C# ArrayList vodič s primjerima
⚡ Pametni sažetak
ArrayList u C# je dinamička kolekcija iz imenskog prostora System.Collections koja pohranjuje elemente kao objekte. Za razliku od niza, raste i smanjuje se tijekom izvođenja i može sadržavati cijele brojeve, nizove znakova i logičke vrijednosti zajedno u jednoj listi.

Što je ArrayList u C#?
Kolekcija ArrayList je slična nizovi tip podataka u C#. Najveća razlika je dinamička priroda zbirke popisa polja.
Za nizove morate definirati broj elemenata koje niz može sadržavati u trenutku deklaracije niza. Ali u slučaju zbirke Array List, to ne treba učiniti unaprijed. Elementi se mogu dodati ili ukloniti iz kolekcije Array List u bilo kojem trenutku. Pogledajmo detaljnije operacije dostupne za kolekciju popisa polja.
Deklaracija popisa polja
Deklaracija ArrayList-a je navedena u nastavku. Popis polja kreira se uz pomoć tipa podataka ArrayList. Ključna riječ "new" koristi se za stvaranje objekta ArrayList-a. Objekt se zatim dodjeljuje varijabli a1. Sada će se varijabla a1 koristiti za pristup različitim elementima popisa polja.
ArrayList a1 = new ArrayList()
Dodavanje elemenata nizu
Metoda add koristi se za dodavanje elementa u ArrayList. Metoda dodavanja može se koristiti za dodavanje bilo koje vrste elementa tipa podataka na popis polja. Dakle, popisu polja možete dodati Integer, ili niz, ili čak Booleovu vrijednost. Opća sintaksa metode zbrajanja dana je u nastavku
ArrayList.add(element)
Ispod su neki primjeri kako se može koristiti metoda "dodaj". Metoda dodavanja može se koristiti za dodavanje različitih tipova podataka u kolekciju Array List.
U nastavku možete vidjeti primjere kako možemo dodati Integerove nizove, pa čak i Booleove vrijednosti u kolekciju Array List.
- a1.add(1) – Ovo će kolekciji dodati Integer vrijednost
- a1.add(“Primjer”) – Ovo će kolekciji dodati vrijednost niza
- a1.add(true) – Ovo će kolekciji dodati Booleovu vrijednost
Sada da vidimo kako ovo radi na razini koda. Sav dolje navedeni kod bit će zapisan u našu konzolnu aplikaciju. Kod će biti zapisan u našu datoteku Program.cs.
U donjem programu napisat ćemo kod za stvaranje nove liste polja. Također ćemo pokazati za dodavanje elemenata i za prikaz elemenata popisa polja.
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(); } } }
Code Obrazloženje:-
- Prvi korak se koristi za deklariranje naše liste polja. Ovdje deklariramo a1 kao varijablu za držanje elemenata naše liste polja.
- Zatim koristimo ključnu riječ add za dodavanje broja 1, Stringa “Primjer” i Booleove vrijednosti 'true' na popis polja.
- Zatim koristimo metodu Console.WriteLine za prikaz vrijednosti svakog elementa popisa polja na konzoli. Primijetit ćete da baš kao i nizovima, elementima možemo pristupiti putem njihovih indeksnih pozicija. Dakle, za pristup prvoj poziciji popisa nizova koristimo poziciju indeksa [0]. I tako dalje.
Ako se gornji kod ispravno unese i program se pokrene, prikazat će se sljedeći izlaz.
Izlaz:
Iz izlaza možete vidjeti da su svi elementi s popisa polja poslani na konzolu.
Pogledajmo još neke metode koje su dostupne kao dio ArrayList-a.
Računati
Ova se metoda koristi za dobivanje broja stavki u kolekciji ArrayList. Ispod je opća sintaksa ove izjave.
ArrayList.Count() – Ova metoda će vratiti broj elemenata koje sadrži popis polja.
sadrži
Ova se metoda koristi da se vidi je li element prisutan u kolekciji ArrayList. Ispod je opća sintaksa ove izjave
ArrayList.Contains(element) – Ova metoda će vratiti true ako je element prisutan na popisu, inače će vratiti false.
RemoveAt
Ova se metoda koristi za uklanjanje elementa na određenom mjestu u kolekciji ArrayList. Ispod je opća sintaksa ove izjave
ArrayList.RemoveAt(index) – Ova će metoda ukloniti element s određene pozicije popisa polja.
Sada da vidimo kako ovo radi na razini koda. Sav dolje navedeni kod bit će zapisan u našu konzolnu aplikaciju. Kod će biti zapisan u našu datoteku Program.cs.
U donjem programu napisat ćemo kod da vidimo kako možemo koristiti gore navedene metode.
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(); } } }
Code Obrazloženje:-
- Dakle, prvo svojstvo koje vidimo je svojstvo Count. Dobivamo svojstvo Count popisa polja a1 i zatim ga zapisujemo u konzolu.
- U drugom dijelu koristimo metodu Contains da vidimo sadrži li ArrayList a1 element 2. Zatim rezultat upisujemo u konzolu putem naredbe Writeline.
- Konačno, kako bismo prikazali metodu uklanjanja elementa, izvodimo korake u nastavku,
- Prvo u konzolu upisujemo vrijednost elementa na poziciji indeksa 1 popisa polja.
- Zatim uklanjamo element na poziciji indeksa 1 popisa polja.
- Na kraju, ponovno upisujemo vrijednost elementa na poziciji indeksa 1 popisa polja u konzolu. Ovaj skup koraka dat će poštenu predodžbu hoće li metoda uklanjanja funkcionirati kako treba.
Ako se gornji kod ispravno unese i program se pokrene, prikazat će se sljedeći izlaz.
Izlaz:
Zašto je zadnja vrijednost istinita?
Ako vidite slijed događaja, element Primjer se uklanja iz niza jer se nalazi na poziciji 1. Pozicija 1 u nizu zatim se zamjenjuje onim što je ranije bilo na poziciji 2 čija je vrijednost "true"
Kako proći kroz C# ArrayList
Čitanje svakog elementa ArrayLista je uobičajen zadatak. Budući da ArrayList pohranjuje svoje stavke kao objekte, možete ih posjetiti pomoću petlje foreach ili pomoću petlje for koja koristi svojstvo Count. Petlja foreach je najjednostavniji način, jer prolazi kroz svaku stavku redom bez potrebe za indeksom.
Primjer u nastavku stvara ArrayList nizova znakova i ispisuje svaku vrijednost u zasebnom retku. Kod je napisan u datoteci Program.cs konzolne aplikacije.
Korak 1) Uvezite imenski prostor System.Collections i stvorite ArrayList s tri stavke.
Korak 2) Koristite petlju foreach za čitanje svakog elementa kao objekta i zapisivanje istog u konzolu.
using System; using System.Collections; namespace DemoApplication { class Program { static void Main(string[] args) { ArrayList a1 = new ArrayList(); a1.Add("Java"); a1.Add("Python"); a1.Add("Kotlin"); foreach (object item in a1) { Console.WriteLine(item); } Console.ReadKey(); } } }
Code Obrazloženje:-
- Imenski prostor System.Collections se uvozi tako da je tip ArrayList dostupan programu.
- Tri string vrijednosti se dodaju u ArrayList pomoću metode Add.
- Petlja foreach čita svaku stavku kao objekt, a metoda Console.WriteLine ispisuje je u novom retku.
Kada se program pokrene, ispisuje Java, Pythoni Kotlin u odvojenim retcima. Petlja for sa svojstvom Count dala bi isti rezultat, a istovremeno bi vam omogućila korištenje indeksne pozicije svakog elementa.
C# ArrayList metode i svojstva
Klasa ArrayList pruža mnoge ugrađene metode i svojstva za upravljanje svojim elementima. Osim dodavanja i uklanjanja elemenata, može sortirati, pretraživati i obrnuti redoslijed u kolekciji. Najčešći članovi navedeni su u nastavku.
| Član | Description |
| dodati | Dodaje jedan element na kraj ArrayList-a. |
| umetak | Dodaje element na određenu poziciju indeksa. |
| ukloniti | Uklanja prvo pojavljivanje određenog elementa. |
| RemoveAt | Uklanja element na zadanoj poziciji indeksa. |
| Izbriši | Uklanja sve elemente iz ArrayList-a. |
| Vrsta | Sortira elemente u rastućem redoslijedu. |
| Reverse | Reverses redoslijed elemenata na listi. |
| sadrži | Vraća vrijednost true ako zadani element postoji na listi. |
| IndeksOd | Vraća indeksnu poziciju zadanog elementa. |
| Računati | Svojstvo koje vraća broj pohranjenih elemenata. |
| Kapacitet | Svojstvo koje vraća broj elemenata koje lista može sadržavati. |
Ovi članovi vam omogućuju dodavanje, pronalaženje, sortiranje i uklanjanje stavki bez vlastitog pisanja logike, što je jedna od glavnih prednosti korištenja kolekcije u odnosu na obični niz.
Razlika između ArrayLista i Lista u C#
I ArrayList i generički Popis pohranjuju skupinu stavki koje mogu rasti tijekom izvođenja, no razlikuju se u načinu na koji rukuju tipovima. Poznavanje razlike pomaže vam da odaberete pravu za moderni C# kod.
Glavne razlike navedene su u nastavku:
- Sigurnost tipa: ArrayList pohranjuje svaku stavku kao objekt, dok je List vezan za jedan deklarirani tip i provjerava se tijekom kompajliranja.
- Performance: ArrayList pakira i raspakirava vrijednosne tipove poput int, što oduzima vrijeme, dok List izbjegava pakiranje radi veće brzine.
- Prostor: ArrayList se nalazi u System.Collections, dok se List nalazi u System.Collections.Generic.
- lijevanje: Čitanje iz ArrayList-a često zahtijeva vraćanje u izvorni tip, ali List izravno vraća ispravan tip.
- Preporuka: Microsoft preporučuje List za novi razvoj jer je sigurniji, brži i lakši za čitanje.
Ukratko, ArrayList je koristan za razumijevanje starijeg koda ili miješane pohrane, dok je List preferirani izbor za većinu današnjih aplikacija.




