Διεπαφή λίστας Java

Σε αυτό το σεμινάριο, θα μάθουμε για τη διεπαφή λίστας στην 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τάξεις λεπτομερώς στα επόμενα σεμινάρια.

ενδιαφέροντα άρθρα...