Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή λίστας στην Java και τις μεθόδους της.
Στην Java, η List
διεπαφή είναι μια παραγγελθείσα συλλογή που μας επιτρέπει να αποθηκεύουμε και να έχουμε πρόσβαση σε στοιχεία διαδοχικά. Επεκτείνει τη Collection
διεπαφή.
Τάξεις που εφαρμόζουν τη λίστα
Δεδομένου ότι List
είναι μια διεπαφή, δεν μπορούμε να δημιουργήσουμε αντικείμενα από αυτήν.
Για να χρησιμοποιήσουμε τις λειτουργίες της List
διεπαφής, μπορούμε να χρησιμοποιήσουμε αυτές τις τάξεις:
- Λίστα Array
- Συνδεδεμένη λίστα
- Διάνυσμα
- Σωρός
Αυτές οι τάξεις ορίζονται στο πλαίσιο Συλλογές και εφαρμόζουν τη List
διεπαφή.
Πώς να χρησιμοποιήσετε τη λίστα;
Στην Java, πρέπει να εισαγάγουμε java.util.List
πακέτο για να το χρησιμοποιήσουμε List
.
// ArrayList implementation of List List list1 = new ArrayList(); // LinkedList implementation of List List list2 = new LinkedList();
Εδώ, δημιουργήσαμε αντικείμενα list1 και list2 των τάξεων ArrayList
και LinkedList
. Αυτά τα αντικείμενα μπορούν να χρησιμοποιήσουν τις λειτουργίες της List
διεπαφής.
Μέθοδοι λίστας
Η List
διεπαφή περιλαμβάνει όλες τις μεθόδους της Collection
διεπαφής. Είναι επειδή Collection
είναι ένα σούπερ διασύνδεση του List
.
Μερικές από τις κοινώς χρησιμοποιούμενες μεθόδους της Collection
διεπαφής που είναι επίσης διαθέσιμες στη List
διεπαφή είναι:
add()
- προσθέτει ένα στοιχείο σε μια λίσταaddAll()
- προσθέτει όλα τα στοιχεία μιας λίστας στην άλληget()
- βοηθά στην τυχαία πρόσβαση σε στοιχεία από λίστεςiterator()
- επιστρέφει επαναληπτικό αντικείμενο που μπορεί να χρησιμοποιηθεί για τη διαδοχική πρόσβαση σε στοιχεία λιστώνset()
- αλλάζει στοιχεία λιστώνremove()
- αφαιρεί ένα στοιχείο από τη λίσταremoveAll()
- αφαιρεί όλα τα στοιχεία από τη λίσταclear()
- αφαιρεί όλα τα στοιχεία από τη λίστα (πιο αποτελεσματική απόremoveAll()
)size()
- επιστρέφει το μήκος των λιστώνtoArray()
- μετατρέπει μια λίστα σε πίνακαcontains()
- επιστρέφειtrue
εάν μια λίστα περιέχει καθορισμένο στοιχείο
Υλοποίηση της διασύνδεσης λίστας
1. Εφαρμογή της κατηγορίας ArrayList
import java.util.List; import java.util.ArrayList; class Main ( public static void main(String() args) ( // Creating list using the ArrayList class List numbers = new ArrayList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Παραγωγή
Λίστα: (1, 2, 3) Στοιχείο πρόσβασης: 3 Στοιχείο που αφαιρέθηκε: 2
Για να μάθετε περισσότερα ArrayList
, επισκεφθείτε τη λίστα Java ArrayList.
2. Εφαρμογή της κλάσης LinkedList
import java.util.List; import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating list using the LinkedList class List numbers = new LinkedList(); // Add elements to the list numbers.add(1); numbers.add(2); numbers.add(3); System.out.println("List: " + numbers); // Access element from the list int number = numbers.get(2); System.out.println("Accessed Element: " + number); // Using the indexOf() method int index = numbers.indexOf(2); System.out.println("Position of 3 is " + index); // Remove element from the list int removedNumber = numbers.remove(1); System.out.println("Removed Element: " + removedNumber); ) )
Παραγωγή
Λίστα: (1, 2, 3) Στοιχείο πρόσβασης: 3 Η θέση του 3 είναι 1 Στοιχείο που έχει αφαιρεθεί: 2
Για να μάθετε περισσότερα σχετικά με LinkedList
, επισκεφθείτε τη Java LinkedList.
Λίστα Java εναντίον Σετ
Τόσο η List
διεπαφή όσο και η Set
διεπαφή κληρονομούν τη Collection
διεπαφή. Ωστόσο, υπάρχει κάποια διαφορά μεταξύ τους.
- Οι λίστες μπορούν να περιλαμβάνουν διπλά στοιχεία. Ωστόσο, τα σύνολα δεν μπορούν να έχουν διπλά στοιχεία.
- Τα στοιχεία σε λίστες αποθηκεύονται με κάποια σειρά. Ωστόσο, τα στοιχεία σε σύνολα αποθηκεύονται σε ομάδες, όπως σετ στα μαθηματικά.
Τώρα που ξέρουμε τι List
είναι, θα δούμε τις υλοποιήσεις του ArrayList
και τις LinkedList
τάξεις λεπτομερώς στα επόμενα σεμινάρια.