Ugrás a fő tartalomhoz

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

  1. 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.

  2. 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.

  3. 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.