[mw_shl_code=java,true]πακέτο com.sort;
εισαγωγή java.util.ArrayList; εισαγωγή java.util.Iterator; εισαγωγή java.util.List;
/** * Τρεις τύποι διέλευσης της λίστας * @author Ιδιοκτήτης
* */ δημόσια τάξη ListTest {
public static void main(String[] args) {
<String> Λίστα λίστας = new ArrayList<String>();
list.add("a"); list.add("β"); list.add("c"); list.add("c"); Μπορούν να προστεθούν διπλότυπα δεδομένα
Μέθοδος διέλευσης 1 for(Iterator<String> iterator = list.iterator(); iterator.hasNext(); ){ Τιμή συμβολοσειράς = iterator.next();
System.out.println(τιμή); }
Μέθοδος διέλευσης 2 for(Τιμή συμβολοσειράς : λίστα){ System.out.println(τιμή); }
Μέθοδος διέλευσης 3 for(int i=0; i<list.size(); i++){ System.out.println(list.get(i)); }
} } [/mw_shl_code]
Συγκριτική ανάλυση των τριών διελεύσεων:
Μέθοδος 1 διέλευση: Κατά την εκτέλεση, θα πραγματοποιηθεί κλείδωμα δεδομένων, η απόδοση θα είναι ελαφρώς χειρότερη και εάν θέλετε να αφαιρέσετε ένα στοιχείο κατά τη διάρκεια του βρόχου, μπορείτε να καλέσετε μόνο τη μέθοδο it.demove.
Μέθοδος 2 Διέλευση: Καλέστε τον πρώτο τύπο εσωτερικά
Μέθοδος 3: Διέλευση: Δεν είναι κλειδωμένο εσωτερικά, κάτι που είναι το πιο αποτελεσματικό, αλλά κατά τη σύνταξη πολλαπλών νημάτων, θα πρέπει να λαμβάνεται υπόψη το πρόβλημα των ταυτόχρονων λειτουργιών
Οι δύο κύριες υλοποιήσεις της διεπαφής λίστας, ArrayList και LinkedList, μπορούν να διασχιστούν με αυτόν τον τρόπο Συγκριτική ανάλυση ArrayList vs LinkedList α) Το υποκείμενο επίπεδο του ArrayList υλοποιείται με πίνακες και το υποκείμενο επίπεδο του LinkedList υλοποιείται με αμφίδρομες συνδεδεμένες λίστες. β) Κατά την εκτέλεση λειτουργιών εισαγωγής ή διαγραφής, είναι προτιμότερο να χρησιμοποιείτε το LinkedList. γ) Κατά την εκτέλεση μιας λειτουργίας αναζήτησης, είναι καλύτερο να χρησιμοποιήσετε το ArrayList.
Για να το θέσω ωμά, είναι διαδοχική αποθήκευση και αποθήκευση αλυσίδας στη δομή δεδομένων
|