C# listák
Listák használata és működése
A lista (List<T>) a C# egyik leggyakrabban használt dinamikus adatszerkezete. A tömbökkel ellentétben a listák mérete futásidőben is változtatható — vagyis elemeket adhatunk hozzá vagy vehetünk el belőlük.
Miért használjunk listákat?
- Ha az adatok száma nem ismert előre, vagy változhat futás közben.
- Ha gyakran kell elemeket hozzáadni, törölni, keresni.
- Ha kényelmes, beépített metódusokat szeretnénk (pl.
Add,Remove,Contains).
Lista létrehozása
A List<T> használatához szükség van a System.Collections.Generic névtérre.
using System.Collections.Generic;
List<int> numbers = new List<int>();
numbers.Add(10);
numbers.Add(20);
Console.WriteLine(numbers[0]); // 10
Lista inicializálása értékekkel
Listát létrehozhatunk és azonnal feltölthetünk értékekkel.
List<string> fruits = new List<string> { "alma", "banán", "cseresznye" };
foreach (string fruit in fruits)
{
Console.WriteLine(fruit);
}
Lista bejárása
A lista bejárása ugyanúgy történik mint a tömb bejárása, for vagy foreach ciklussal.
Elemműveletek a listában
A List<T> számos beépített metódust tartalmaz, amelyekkel könnyen kezelhetjük az elemeket.
List<int> numbers = new List<int> { 5, 2, 8, 1 };
numbers.Add(10); // új elem hozzáadása
numbers.Remove(2); // adott érték törlése
numbers.RemoveAt(0); // elem törlése index alapján
numbers.Insert(1, 99); // elem beszúrása adott pozícióra (1. indexre beszúrja a 99-et)
Console.WriteLine(numbers.Contains(8)); // igaz, ha tartalmazza az adott elemet
Console.WriteLine(numbers.Count); // lista aktuális hossza
numbers.Sort(); // rendezés
numbers.Reverse(); // sorrend megfordítása
Feladatok
-
Készíts egy programot, amely bekér nevekett a felhasználótól (ameddig az nem írja be
"stop"), majd ezeket hozzáadja egy listához. Ezután rendezze a neveket ábécésorrendbe, és írja ki őket. -
Hozz létre egy üres listát, majd addig kérj be számokat a felhasználótól, amíg az be nem írja:
"stop". A program végén írd ki az összes beírt szám átlagát. -
Készíts egy programot, amely egy listát feltölt 15 véletlen számmal 1 és 50 között, majd eltávolítja belőle az összes 25-nél kisebb értéket. Írd ki a maradék elemeket.