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

Άποψη: 13604|Απάντηση: 0

[ΙάβαSE] Συλλογή Traversal of List σε java και συγκριτική ανάλυση δύο κλάσεων υλοποίησης

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 4/1/2015 1:29:38 μ.μ. | | |
[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.


Για να το θέσω ωμά, είναι διαδοχική αποθήκευση και αποθήκευση αλυσίδας στη δομή δεδομένων




Προηγούμενος:Χρήση της ετικέτας jstl &lt;c:if&gt;
Επόμενος:java:list和set集合的遍历
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com