Οι λίστες Java είναι ιδιαίτερα κατάλληλες για σενάρια όπου το μέγεθος ενός συνόλου δεδομένων δεν είναι σαφές από την αρχή ή εάν το μέγεθος αναμένεται να αλλάξει με την πάροδο του χρόνου. Θα σας δείξουμε συγκεκριμένα παραδείγματα για το πώς να χρησιμοποιείτε τις λίστες Java, καθώς και τις λειτουργίες που μπορείτε να εκτελέσετε με αυτές.

Σε τι μπορούν να χρησιμοποιηθούν οι λίστες Java;

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

Οι λίστες μπορούν να χρησιμοποιηθούν για εφαρμογές βάσεων δεδομένων. Εδώ χρησιμοποιούνται για την αποθήκευση και την πρόσβαση σε μεγάλα σύνολα δεδομένων από ερωτήματα βάσεων δεδομένων. Σε γραφικά περιβάλλοντα χρήστη, οι λίστες Java χρησιμοποιούνται συχνά για την εμφάνιση μιας λίστας στοιχείων, όπως επιλογές σε ένα αναπτυσσόμενο μενού ή διάφορα είδη σε ένα ηλεκτρονικό κατάστημα.

Οι λίστες Java είναι επίσης απαραίτητες στους αλγόριθμους και τις δομές δεδομένων. Χρησιμοποιούνται σε αλγόριθμους ταξινόμησης, αλγόριθμους αναζήτησης και δομές στοίβας και ουράς. Στις εφαρμογές δικτύου, οι λίστες μπορούν να διευκολύνουν τη διαχείριση των συνδέσεων και των υποδοχών.

Ποιες μεθόδους λίστας διαθέτει η Java;

Οι λίστες Java ανήκουν στη διεπαφή Collection και πρέπει να εισαχθούν από το πακέτο java.util. Με τις Java ArrayList, LinkedList, Vector και Stack, υπάρχουν διάφορες κλάσεις υλοποίησης από τις οποίες μπορείτε να επιλέξετε. Μπορείτε να δηλώσετε τις διαφορετικές περιπτώσεις των λιστών με τον ακόλουθο κώδικα:

List linkedList = new LinkedList(); // LinkedList
List arrayList = new ArrayList(); // ArrayList
List vecList = new Vector(); // Vector
List stackList = new Stack(); //Stack
Java

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

  1. int size(): Προσδιορίζει τον αριθμό των στοιχείων σε μια λίστα
  2. void add(int index, E element): Προσθέτει ένα στοιχείο σε μια συγκεκριμένη θέση
  3. boolean isEmpty(): Ελέγχει αν μια λίστα είναι κενή
  4. void clear(): Αφαιρεί όλα τα στοιχεία από μια λίστα
  5. boolean contains(Object o): Επιστρέφει την τιμή true, εάν το αντικείμενο o βρίσκεται στη λίστα
  6. boolean add(E e): Προσθέτει ένα στοιχείο στο τέλος μιας λίστας
  7. boolean remove(Object o): Αφαιρεί την πρώτη εμφάνιση ενός στοιχείου
  8. E get(int index): Αντικαθιστά ή εισάγει ένα στοιχείο σε έναν καθορισμένο δείκτη
  9. E set(int index, E element): Αντικαθιστά ή εισάγει ένα στοιχείο σε έναν καθορισμένο δείκτη
  10. Object[] toArray(): Επιστρέφει έναν πίνακα που περιέχει τα στοιχεία από μια λίστα
  11. List<E> subList(int fromIndex, int toIndex): Συλλαμβάνει όλα τα στοιχεία εντός του καθορισμένου διαστήματος
  12. default void replaceAll(UnaryOperator<E> operator): Τυπική μέθοδος στη Java 8 που εφαρμόζει μονομερείς τελεστές Java σε κάθε στοιχείο και στη συνέχεια αντικαθιστά κάθε στοιχείο με το αποτέλεσμα της πράξης.

Πώς να χρησιμοποιείτε τις λίστες Java

Παρακάτω, θα παρουσιάσουμε τις συνήθεις μεθόδους που χρησιμοποιούνται κατά την εργασία με λίστες Java. Αυτές περιλαμβάνουν τη μετατροπή πινάκων σε λίστες και αντίστροφα, καθώς και την ταξινόμηση, ανάκτηση και τροποποίηση στοιχείων.

Μετατροπή πίνακα σε λίστα

Για να μετατρέψετε έναν πίνακα σε λίστα, μπορείτε να επαναλάβετε τον πίνακα χρησιμοποιώντας βρόχους και να προσθέσετε τα στοιχεία στη λίστα ένα προς ένα χρησιμοποιώντας τη μέθοδο add().

import java.util.*;
    public class ArrayToList{
      public static void main(String args[]){
      // Creating Array
      String[] colors={"blue","green","red","yellow"};
      System.out.println("Array: "+Arrays.toString(colors));
      //Converting Array to List
      List<String> list=new ArrayList<String>();
      for(String color: colors){
        list.add(color);
      }
      System.out.println("List: "+list);
      }
    }
Java

Αυτό έχει ως αποτέλεσμα την έξοδο:

Array: [blue, green, red, yellow]
List: [blue, green, red, yellow]
Java

Μετατροπή λίστας σε πίνακα

Με τη μέθοδο toArray(), μπορείτε να μετατρέψετε μια λίστα σε πίνακα:

import java.util.*;
    public class ListToArray{
      public static void main(String args[]){
       List<String> days = new ArrayList<String>();
       days.add("Monday");
       days.add("Tuesday");
       days.add("Wednesday");
       days.add("Thursday");
       days.add("Friday");
       days.add("Saturday");
       days.add("Sunday");
       // Converting ArrayList to Array
       String[] array = days.toArray(new String[days.size()]);
       System.out.println("Array: "+Arrays.toString(array));
       System.out.println("List: "+days);
      }
    }
Java

Στην έξοδο, μπορείτε να δείτε ότι τα στοιχεία του πίνακα και της λίστας είναι πανομοιότυπα:

Array: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
List: [Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday]
Java

Κλήση και αλλαγή στοιχείων σε μια λίστα Java

Με τη μέθοδο get(), μπορείτε να αποκτήσετε πρόσβαση σε ένα στοιχείο σε έναν συγκεκριμένο δείκτη. Η μέθοδος set() σας επιτρέπει να αντικαταστήσετε ένα στοιχείο με ένα διαφορετικό στοιχείο σε μια συγκεκριμένη θέση στη λίστα.

import java.util.*;
    public class ListExample{
      public static void main(String args[]){
      // Creating a List
      List<String> letters=new ArrayList<String>();
      // Adding elements
      letters.add("a");
      letters.add("b");
      letters.add("c");
      // get()
      System.out.println("Element at index 1: "+letters.get(1));
      // set()
      letters.set(2, "d");
      for(String letter: letters)
      System.out.println(letter);
      }
    }
Java

Δεδομένου ότι η μέτρηση στη Java ξεκινά με τον δείκτη 0, έχουμε το ακόλουθο αποτέλεσμα:

Element at index 1: b
a
b
d
Java

Ταξινόμηση λίστας

Μπορείτε να ταξινομήσετε μια λίστα Java χρησιμοποιώντας τη μέθοδο .sort() από την κλάση Collections. Μπορείτε να επαναλάβετε τη λίστα χρησιμοποιώντας έναν βρόχο και να εκτυπώσετε τα στοιχεία στην κονσόλα ένα προς ένα:

import java.util.*;
    class SortArrayList{
      public static void main(String args[]){
      // Creating a list of numbers
      List<Integer> numbers=new ArrayList<Integer>();
      numbers.add(4);
      numbers.add(57);
      numbers.add(92);
      numbers.add(26);
      // Sorting
      Collections.sort(numbers);
      for(Integer number: numbers)
        System.out.println(number);
      }
    }
Java

Οι αριθμοί στη λίστα Java εμφανίζονται στην οθόνη από τον μικρότερο προς τον μεγαλύτερο:

4
26
57
92
Java

95991e50aeda50c32cb3b3f2112a5943

d8a1591df4562b7b93743d4591732bef

39ff5b6d36ba97b3c26d6bb337ccf978

Go to Main Menu