Τι είναι μια λίστα Java;
Οι λίστες 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(); //StackJavaΑκολουθούν μερικές από τις πιο σημαντικές μεθόδους που μπορείτε να χρησιμοποιήσετε για τις λίστες Java:
int size(): Προσδιορίζει τον αριθμό των στοιχείων σε μια λίσταvoid add(int index, E element): Προσθέτει ένα στοιχείο σε μια συγκεκριμένη θέσηboolean isEmpty(): Ελέγχει αν μια λίστα είναι κενήvoid clear(): Αφαιρεί όλα τα στοιχεία από μια λίσταboolean contains(Object o): Επιστρέφει την τιμήtrue, εάν το αντικείμενοoβρίσκεται στη λίσταboolean add(E e): Προσθέτει ένα στοιχείο στο τέλος μιας λίσταςboolean remove(Object o): Αφαιρεί την πρώτη εμφάνιση ενός στοιχείουE get(int index): Αντικαθιστά ή εισάγει ένα στοιχείο σε έναν καθορισμένο δείκτηE set(int index, E element): Αντικαθιστά ή εισάγει ένα στοιχείο σε έναν καθορισμένο δείκτηObject[] toArray(): Επιστρέφει έναν πίνακα που περιέχει τα στοιχεία από μια λίσταList<E> subList(int fromIndex, int toIndex): Συλλαμβάνει όλα τα στοιχεία εντός του καθορισμένου διαστήματος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
dJavaΤαξινόμηση λίστας
Μπορείτε να ταξινομήσετε μια λίστα 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
92Java95991e50aeda50c32cb3b3f2112a5943
d8a1591df4562b7b93743d4591732bef
39ff5b6d36ba97b3c26d6bb337ccf978