Τι είναι οι λίστες;

Μια λίστα είναι σαν ένας πίνακας (array), αλλά έχει δύο μεγάλα πλεονεκτήματα:

  1. Δυναμικό μέγεθος: Μπορείς να προσθέτεις και να αφαιρείς στοιχεία όσο θέλεις, χωρίς να ανησυχείς για το πόσο μεγάλη είναι η λίστα από την αρχή. Σε αντίθεση με τους πίνακες που έχουν σταθερό μέγεθος, οι λίστες μπορούν να μεγαλώνουν ή να μικραίνουν ανάλογα με το τι θέλεις να κάνεις.
  2. Ευκολία στη χρήση: Οι λίστες παρέχουν πολλές χρήσιμες εντολές που κάνουν τη ζωή σου πιο εύκολη όταν θέλεις να δουλέψεις με πολλά στοιχεία.

Πώς δηλώνουμε μια λίστα;

Η λίστα είναι μέρος των γενικευμένων τύπων της C#. Για να δημιουργήσεις μια λίστα, χρησιμοποιείς την κλάση List<T>, όπου το T είναι ο τύπος των στοιχείων που θα έχει η λίστα. Για παράδειγμα, αν θέλεις μια λίστα με αριθμούς (ακέραιους αριθμούς – int), γράφεις:

List numbers = new List();

Αυτό σημαίνει ότι η λίστα numbers μπορεί να αποθηκεύσει πολλούς ακέραιους αριθμούς.

Βασικές Εντολές για τις Λίστες

1. Προσθήκη Στοιχείων στην Λίστα (Add)

Μπορείς να προσθέσεις ένα νέο στοιχείο στην λίστα χρησιμοποιώντας την εντολή Add. Η λίστα μεγαλώνει αυτόματα για να χωρέσει το νέο στοιχείο.

numbers.Add(10); // Προσθέτει τον αριθμό 10 στη λίστα
numbers.Add(20); // Προσθέτει τον αριθμό 20 στη λίστα

2. Πρόσβαση σε Στοιχεία της Λίστας

Τα στοιχεία της λίστας έχουν επίσης δείκτες (indexes), όπως οι πίνακες. Για να προσπελάσεις ένα στοιχείο, γράφεις το όνομα της λίστας και βάζεις τον δείκτη μέσα σε αγκύλες [ ].

int firstNumber = numbers[0]; // Παίρνουμε το πρώτο στοιχείο από τη λίστα (το 10)
Console.WriteLine(firstNumber); // Εκτυπώνει 10

Οι δείκτες ξεκινούν από το 0 (όπως και στους πίνακες).

3. Αφαίρεση Στοιχείων από την Λίστα (Remove)

Αν θέλεις να αφαιρέσεις ένα στοιχείο από την λίστα, μπορείς να χρησιμοποιήσεις την εντολή Remove. Η λίστα μικραίνει αυτόματα.

numbers.Remove(10); // Αφαιρεί τον αριθμό 10 από τη λίστα

Αν υπάρχουν πολλά ίδια στοιχεία, το Remove αφαιρεί μόνο το πρώτο που θα βρει.

Μέγεθος της Λίστας (Count)

Η εντολή Count σου δείχνει πόσα στοιχεία υπάρχουν αυτή τη στιγμή στη λίστα.

int size = numbers.Count; // Πόσα στοιχεία υπάρχουν στη λίστα;
Console.WriteLine(size); // Εκτυπώνει 1 (γιατί αφαιρέσαμε το 10 και έμεινε το 20)

Εύρεση Στοιχείου στην Λίστα

Αν θέλεις να δεις αν υπάρχει ένα συγκεκριμένο στοιχείο στη λίστα, μπορείς να χρησιμοποιήσεις την εντολή Contains.

bool found = numbers.Contains(20); // Ελέγχει αν το 20 υπάρχει στη λίστα
Console.WriteLine(found); // Εκτυπώνει True

Προσθήκη Στοιχείου σε Συγκεκριμένη Θέση (Insert)

Μπορείς να προσθέσεις ένα στοιχείο σε μια συγκεκριμένη θέση μέσα στη λίστα χρησιμοποιώντας την εντολή Insert.

numbers.Insert(0, 15); // Προσθέτει τον αριθμό 15 στη θέση 0 (στην αρχή της λίστας)

Μετά την εισαγωγή, τα υπόλοιπα στοιχεία “μετακινούνται” για να χωρέσει το νέο στοιχείο.

Αφαίρεση Στοιχείου από Συγκεκριμένη Θέση (RemoveAt)

Μπορείς να αφαιρέσεις ένα στοιχείο από μια συγκεκριμένη θέση στη λίστα χρησιμοποιώντας την εντολή RemoveAt.

numbers.RemoveAt(1); // Αφαιρεί το στοιχείο στη θέση 1

Παράδειγμα Χρήσης Λίστας

Ας δούμε ένα μικρό παράδειγμα που χρησιμοποιεί όλα αυτά:

using System;
using System.Collections.Generic; // Χρειάζεται να συμπεριλάβεις αυτό για να χρησιμοποιήσεις λίστες

class Program
{
static void Main()
{
// Δημιουργία λίστας με ακέραιους αριθμούς
List numbers = new List();

    // Προσθήκη αριθμών στη λίστα
    numbers.Add(10);
    numbers.Add(20);
    numbers.Add(30);

    // Εκτύπωση όλων των αριθμών
    Console.WriteLine("Αρχική λίστα:");
    foreach (int number in numbers)
    {
        Console.WriteLine(number);
    }


    // Αφαίρεση ενός αριθμού
    numbers.Remove(20);

    // Προσθήκη αριθμού σε συγκεκριμένη θέση
    numbers.Insert(1, 25);  // Προσθέτει τον αριθμό 25 στη θέση 1

    // Εκτύπωση της λίστας μετά τις αλλαγές
    Console.WriteLine("\nΛίστα μετά τις αλλαγές:");
    foreach (int number in numbers)
    {
        Console.WriteLine(number);
    }

    // Έλεγχος αν υπάρχει ένας αριθμός στη λίστα
    bool contains30 = numbers.Contains(30);
    Console.WriteLine($"\nΗ λίστα περιέχει το 30; {contains30}");
}

}

Τι κάνει το παραπάνω πρόγραμμα:

Δημιουργεί μια λίστα αριθμών και προσθέτει τους αριθμούς 10, 20 και 30.
Εκτυπώνει τη λίστα.
Αφαιρεί το 20 από τη λίστα.
Προσθέτει το 25 στη θέση 1.
Εκτυπώνει τη λίστα ξανά για να δείξει τις αλλαγές.
Ελέγχει αν υπάρχει το 30 στη λίστα και εκτυπώνει το αποτέλεσμα.

Γιατί είναι χρήσιμες οι λίστες;

Μπορούν να μεγαλώνουν και να μικραίνουν όσο χρειάζεται, κάτι που κάνει τη διαχείριση των δεδομένων πολύ πιο εύκολη από ότι με τους σταθερούς πίνακες.
Έχουν πολλές έτοιμες μεθόδους που κάνουν τις εργασίες όπως η προσθήκη, η αφαίρεση και η εύρεση στοιχείων πολύ απλές.

Τι πρέπει να θυμάσαι:

Οι λίστες είναι ιδανικές όταν δεν γνωρίζεις από την αρχή πόσα στοιχεία θα χρειαστείς.
Έχουν πολύ ευέλικτες μεθόδους που μπορείς να χρησιμοποιήσεις για να κάνεις τη ζωή σου ευκολότερη όταν δουλεύεις με συλλογές δεδομένων.