Πώς να χρησιμοποιήσετε μια λίστα ArrayList Java

Πώς να χρησιμοποιήσετε μια λίστα ArrayList Java

Στην Java ArrayList είναι ένας πίνακας γενικής χρήσης με δυνατότητα αλλαγής μεγέθους. Παρέχει τις περισσότερες από τις γενικά αναμενόμενες δυνατότητες συστοιχιών σε άλλες γλώσσες. Αυτά περιλαμβάνουν: πρόσβαση σε στοιχεία χρησιμοποιώντας ένα ευρετήριο, προσθήκη, αφαίρεση και ενημέρωση στοιχείων, δυναμική αλλαγή μεγέθους, επανάληψη των στοιχείων κ.λπ. Οι περισσότερες από αυτές τις λειτουργίες έχουν τροποποιηθεί ειδικά για γενική χρήση.





Ο ελεγκτής ps4 δεν θα συνδεθεί στο ps4

Υπάρχουν μερικοί άλλοι τύποι «συστοιχιών» (κλάσεις που υλοποιούν το Λίστα διεπαφή, για να είναι τεχνική) που προορίζονται για ειδικούς σκοπούς. Αυτά περιλαμβάνουν:





  • LinkedList υποστηρίζει γρήγορη εισαγωγή και αφαίρεση σε ενδιάμεσους δείκτες.
  • Διάνυσμα είναι παρόμοιο με ένα ArrayList αλλά είναι συγχρονισμένο και είναι κατάλληλο στη θέση ενός ArrayList για εφαρμογές πολλαπλών νημάτων.
  • Σωρός υποστηρίζει λειτουργίες για τη μίμηση μιας λίστας τελευταίας-πρώτης-εξόδου. Επεκτείνει το Διάνυσμα και ως εκ τούτου συγχρονίζεται.

Αυτές οι ειδικές τάξεις είναι εκτός του πεδίου εφαρμογής αυτού του άρθρου. Ωστόσο, θα μάθετε πώς μπορείτε να ρυθμίσετε και να χρησιμοποιήσετε μια γενική χρήση Java ArrayList.





Δημιουργία ArrayList

Δημιουργώντας ένα ArrayList είναι απλό Ενα άδειο ArrayList μπορεί να δημιουργηθεί χρησιμοποιώντας τον κατασκευαστή χωρίς ορίσματα. Εδώ δημιουργούμε έναν άδειο αρχειοθέτη για κράτημα χορδών.

ArrayList alist = new ArrayList();

Εάν τυχαίνει να γνωρίζετε πόσα στοιχεία θα περιέχει η λίστα συστοιχιών σας, μπορείτε να καθορίσετε την αρχική χωρητικότητα. Αυτή η αρχική χωρητικότητα είναι απλώς μια υπόδειξη για την κατανομή μνήμης - ο αρχειοθέτης δεν περιορίζεται να κρατά τον καθορισμένο αριθμό στοιχείων. Εάν γνωρίζετε και καθορίζετε την αρχική χωρητικότητα, μπορείτε θα μπορούσε ελαφρά βελτίωση στην απόδοση.



ArrayList alist = new ArrayList(20);

Συμπλήρωση λίστας ArrayList

Προσθήκη στοιχείων στο τέλος

Το να συμπληρώσεις έναν αρχαίο είναι αρκετά εύκολο. Απλώς χρησιμοποιήστε το Προσθήκη() μέθοδο για να προσθέσετε ένα μόνο στοιχείο στο τέλος του αρχειοθέτη. Εδώ είναι ένα παράδειγμα:

ArrayList alist = new ArrayList();
alist.add('apple');
alist.add('banana');
alist.add('cantaloupe');
alist.add('orange');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, orange]

Για να βρείτε πόσα στοιχεία υπάρχουν στον αρχειοθέτη, χρησιμοποιήστε τη μέθοδο Μέγεθος() Το





System.out.println('Number of elements in the arraylist: ' + alist.size());
# prints
Number of elements in the arraylist: 4

Προσθήκη στοιχείων σε καθορισμένο ευρετήριο

Θέλετε να προσθέσετε ένα στοιχείο σε ένα αυθαίρετο ευρετήριο; Καθορίστε το ευρετήριο ως πρώτο όρισμα και το στοιχείο προστίθεται σε αυτό το ευρετήριο:

alist.add(3, 'grapes');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange]

Προσθήκη δέσμης αντικειμένων

Μπορείτε επίσης να προσθέσετε στοιχεία από οποιαδήποτε συλλογή στην Ιεραρχία συλλογών Java. Ενα ArrayList είναι ένας συγκεκριμένος τύπος που ονομάζεται Λίστα Το Εδώ είναι ένας τρόπος κατασκευής ενός Λίστα από ένα σωρό αντικείμενα (χρησιμοποιώντας Arrays.asList () ) και προσθέστε το σε ένα ArrayList Το





List items = Arrays.asList('pear', 'cherry');
alist.addAll(items);
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]

Φυσικά, μπορείτε να καθορίσετε ένα ευρετήριο ως το πρώτο όρισμα εδώ για να προσθέσετε τα στοιχεία που ξεκινούν από αυτό το ευρετήριο.

Πρόσβαση σε αντικείμενα

Αφού προστεθούν τα στοιχεία στον αρχειοθέτη, πώς θα τα έχουμε ξανά;

Πρόσβαση με ευρετήριο

Εάν γνωρίζετε το ευρετήριο του στοιχείου, μπορείτε να χρησιμοποιήσετε το παίρνω() μέθοδο ανάκτησης του στοιχείου σε αυτό το ευρετήριο.

πώς να ανοίξετε το αρχείο .gz
String item = alist.get(2);
System.out.println('Item at index 2 is: ' + item);
# prints
Item at index 2 is: cantaloupe

Βρίσκοντας πράγματα

Τι γίνεται αν δεν γνωρίζετε το ευρετήριο του στοιχείου; Μπορείς να χρησιμοποιήσεις indexOf () για να ελέγξετε εάν το στοιχείο υπάρχει στον πίνακα και να ανακτήσετε το στοιχείο χρησιμοποιώντας το δείκτη που επιστρέφεται.

System.out.println(alist);
int index = alist.indexOf('orange');
if ( index <0 )
System.out.println('Item 'orange' not found');
else
System.out.println('Item 'orange' found at index ' + index);
# prints
[apple, banana, cantaloupe, grapes, orange, pear, cherry]
Item 'orange' found at index 4

Τι γίνεται αν το αντικείμενο δεν υπάρχει στον αρχειοθέτη; ο indexOf () η μέθοδος επιστρέφει -1 όταν το στοιχείο δεν βρίσκεται.

index = alist.indexOf('grape');
if ( index <0 )
System.out.println('Item 'grape' not found');
else
System.out.println('Item 'grape' found at index ' + index);
# prints
Item 'grape' not found

Επανάληψη σε μια λίστα ArrayList

Φυσικά, η πιο κοινή χρήση ενός ArrayList επαναλαμβάνεται πάνω στα στοιχεία. Αυτό μπορεί να επιτευχθεί με διάφορους τρόπους. Δείχνουμε εδώ μερικά απλά.

Εδώ είναι ο απλούστερος τρόπος για να επαναλάβετε έναν αρχειοθέτη και να εξαγάγετε τα αντικείμενα για κάποιο είδος επεξεργασίας.

for (String fruit : alist) {
System.out.println('Found fruit '' + fruit + ''');
}
# prints
Found fruit 'apple'
Found fruit 'banana'
Found fruit 'cantaloupe'
Found fruit 'grapes'
Found fruit 'orange'
Found fruit 'pear'
Found fruit 'cherry'

Αυτός ο κώδικας χρησιμοποιεί το Java Enhanced For-Loop που εισήχθη στην Java 1.5. Πριν από αυτό, μπορείτε να επαναλάβετε τα στοιχεία με έναν επαναληπτή. Ένας επαναληπτής χρησιμοποιείται επίσης όταν χρειάζεται αφαιρώ στοιχεία κατά τη διαδικασία της επανάληψης όπως απεικονίζει το παρακάτω παράδειγμα. (Σημειώστε ότι κάνουμε ένα αντίγραφο του αρχειοθέτη και δουλεύουμε το αντίγραφο.)

ArrayList blist = new ArrayList(alist);
for (Iterator iter = blist.iterator() ; iter.hasNext() ; ) {
String fruit = iter.next();
if ( fruit.startsWith('c') )
iter.remove();
else
System.out.println('Keeping '' + fruit + ''');
}
# prints
Keeping 'apple'
Keeping 'banana'
Keeping 'grapes'
Keeping 'orange'
Keeping 'pear'

Αντικατάσταση στοιχείων

Μόλις προστεθούν στοιχεία, χρειαζόμαστε έναν τρόπο αντικατάστασης ανεπιθύμητων αντικειμένων. Αυτό μπορεί να γίνει χρησιμοποιώντας το σειρά() μέθοδο με ευρετήριο.

alist.set(5, 'pineapple');
System.out.println(alist);
# prints
[apple, banana, cantaloupe, grapes, orange, pineapple, cherry]

Αφαίρεση στοιχείων

Ας δούμε τώρα πώς μπορούμε να αφαιρέσουμε αντικείμενα από έναν αρχειοθέτη. Εάν γνωρίζετε το ευρετήριο του στοιχείου (ίσως χρησιμοποιήσατε indexOf () που περιγράφεται παραπάνω), μπορείτε να χρησιμοποιήσετε το αφαιρώ() μέθοδο με τον δείκτη. Επιστρέφει το στοιχείο που έχει αφαιρεθεί.

String fruit = alist.remove(2);
System.out.println('Removed element at 2: ' + fruit);
# prints
Removed element at 2: cantaloupe

Μπορείτε επίσης να καθορίσετε το στοιχείο για την κατάργηση του πρώτα εμφάνιση του στοιχείου στη λίστα. Η μέθοδος επιστρέφει αληθής αν το στοιχείο βρέθηκε και αφαιρεθεί.

πώς να αντικαταστήσετε τη θύρα usb στο φορητό υπολογιστή
fruit = 'grapes';
System.out.println('Remove ' +fruit+ ' from the list? ' + alist.remove(fruit));
# prints
Remove grapes from the list? true

Πώς χρησιμοποιείτε το ArrayList στα έργα σας και ποια ιδιαίτερα προβλήματα αντιμετωπίσατε; Ενημερώστε μας στα παρακάτω σχόλια.

Μερίδιο Μερίδιο Τιτίβισμα ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ Πώς να αποκτήσετε πρόσβαση στο ενσωματωμένο επίπεδο φυσαλίδων της Google στο Android

Εάν χρειαστήκατε ποτέ να βεβαιωθείτε ότι κάτι είναι στο ίδιο επίπεδο, μπορείτε τώρα να λάβετε ένα επίπεδο φούσκας στο τηλέφωνό σας σε δευτερόλεπτα.

Διαβάστε Επόμενο
Σχετικά θέματα
  • Προγραμματισμός
  • Ιάβα
Σχετικά με τον Συγγραφέα Jay Sridhar(Δημοσιεύθηκαν 17 άρθρα) Περισσότερα από τον Jay Sridhar

Εγγραφείτε στο newsletter μας

Εγγραφείτε στο ενημερωτικό μας δελτίο για τεχνικές συμβουλές, κριτικές, δωρεάν ebooks και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για εγγραφή