Τι είναι το Iterator στην Java και πώς να το χρησιμοποιήσετε;



Το Iterator στο Java blog θα σας δώσει μια σωστή εισαγωγή για το τι είναι επαναληπτικό και πώς να τα χρησιμοποιήσετε στην Java με μερικά παραδείγματα

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

java μετατρέψτε το δυαδικό σε δεκαδικό

Ακολουθούν τα θέματα που θα καλύψω σε αυτήν την ενότητα:





Ας αρχίσουμε!

Τι είναι το επαναληπτικό;

Η Java υποστηρίζει κυρίως τέσσερις διαφορετικούς δρομείς. Είναι συγκεκριμένα:



  • Απαρίθμηση
  • Επαναληπτής
  • Λίστα επαναληπτών
  • Σχίστης

Κάθε ένας από αυτούς τους δρομείς Java έχει κάποια πλεονεκτήματα και μειονεκτήματα. Θα επικεντρωθούμε στο Iterator σε αυτό το άρθρο.

Τώρα, τι είναι ένα επαναληπτικό στην Java;

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



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

Μέθοδοι Iterator Java

Ο επαναληπτής Java έχει 4 μεθόδους συνολικά. Ας τα κατανοήσουμε λεπτομερώς.

mysql_fetch_array php
ΜέθοδοιΠεριγραφή
forEachRemaining (κατανάλωση)Εκτελεί τις ενέργειες σε καθένα από τα στοιχεία έως και εκτός εάν όλα τα στοιχεία έχουν υποβληθεί σε επεξεργασία. Επίσης, μέχρι να εξαχθεί μια εξαίρεση από τη δράση.
hasNext ()Αυτό επιστρέφει μια αληθινή τιμή εάν συναντηθεί μεγάλος αριθμός στοιχείων κατά την επανάληψη.
Επόμενο()Αυτό επιστρέφει το επόμενο καθορισμένο στοιχείο κατά την επανάληψη.
αφαιρώ()Αυτή η μέθοδος rαφαιρεί το τρέχον στοιχείο. Ρίχνει IlegalStateException εάν γίνει προσπάθεια κατάργησης κλήσεων () που δεν προηγείται κλήσης στο επόμενο ().
boolean hasNext ()Αυτό επιστρέφει αληθές εάν η επανάληψη έχει περισσότερα στοιχεία.

Παράδειγμα:

class Method {public static void main (String [] args) ArrayList list = new ArrayList () list.add ('E') list.add ('D') list.add ('U') list.add ('R list.add ('E') list.add ('K') list.add ('A') // Iterator για να διασχίσει τη λίστα Iterator iterator = list.iterator () System.out.println ('Στοιχεία λίστας : ') while (iterator.hasNext ()) System.out.print (iterator.next () +') System.out.println ()}}

Έξοδος: EDUREKA

Ας ρίξουμε μια ματιά στο ListIterator στην Java.

ListIterator στην Ιάβα

Λίστα επαναληπτών Στην Java είναι ένα Iterator που επιτρέπει στους χρήστες να διασχίζουν τη Συλλογή και στις δύο κατευθύνσεις. Περιέχει τις ακόλουθες μεθόδους:

ΜέθοδοιΜέθοδος & περιγραφή
void add (αντικείμενο obj) Εισάγει obj στη λίστα μπροστά από το στοιχείο που θα επιστραφεί από την επόμενη κλήση στο επόμενο ().
boolean hasNext () Επιστρέφει true αν υπάρχει το επόμενο στοιχείο. Διαφορετικά, επιστρέφει false.
boolean has Προηγούμενο () Επιστρέφει true αν υπάρχει προηγούμενο στοιχείο. Διαφορετικά, επιστρέφει false.
Επόμενο αντικείμενο () Επιστρέφει το επόμενο στοιχείο. Ένα NoSuchElementException ρίχνεται εάν δεν υπάρχει το επόμενο στοιχείο.
int nextIndex () Επιστρέφει το ευρετήριο του επόμενου στοιχείου. Εάν δεν υπάρχει το επόμενο στοιχείο, επιστρέφει το μέγεθος της λίστας.
Προηγούμενο αντικείμενο () Επιστρέφει το προηγούμενο στοιχείο. Ένα NoSuchElementException ρίχνεται εάν δεν υπάρχει προηγούμενο στοιχείο.
int previousIndex () Επιστρέφει το ευρετήριο του προηγούμενου στοιχείου. Εάν δεν υπάρχει προηγούμενο στοιχείο, επιστρέφει -1.
ακύρωση αφαίρεσης () Καταργεί το τρέχον στοιχείο από τη λίστα. Ένα IllegalStateException ρίχνεται εάν καλείται κατάργηση () πριν ενεργοποιηθεί το επόμενο () ή το προηγούμενο ().
void set (αντικείμενο obj) Εκχωρεί obj στο τρέχον στοιχείο. Αυτό είναι το στοιχείο που επέστρεψε τελευταία από μια κλήση είτε στο επόμενο () είτε στο προηγούμενο ().

Παράδειγμα:

Λίστες δημόσιας τάξης {public static void main (String args []) {// Δημιουργία λίστας συστοιχιών ArrayList al = new ArrayList () // προσθήκη στοιχείων στη λίστα πινάκων al.add ('E') al.add ('D ') al.add (' U ') al.add (' R ') al.add (' E ') al.add (' K ') al.add (' A ') // Χρησιμοποιήστε τον επαναληπτικό για να εμφανίσετε τα περιεχόμενα του al System.out.print («Original content of al: ') Iterator itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (στοιχείο +' )} System.out.println () // Τροποποίηση αντικειμένων που επαναλαμβάνονται ListIterator litr = al.listIterator () ενώ (litr.hasNext ()) {Object element = litr.next () litr.set (element + '+') } System.out.print ('Τροποποιημένα περιεχόμενα του al:') itr = al.iterator () while (itr.hasNext ()) {Object element = itr.next () System.out.print (element + '') } System.out.println () // Τώρα, εμφανίστε τη λίστα προς τα πίσω System.out.print ('Τροποποιημένη λίστα προς τα πίσω:') ενώ (litr.hasPre sebelumnya ()) {Object element = litr.pre sebelumnya () System.out. εκτύπωση (στοιχείο + ')} System.out.println ()}}

Παραγωγή:

Πρωτότυποπεριεχόμενο του al:Ε D U R E Κ Α
Τροποποιήθηκεπεριεχόμενο του al:ΕΙΝΑΙ+ρε+Ε+Ρ+ΕΙΝΑΙ+ΠΡΟΣ ΤΟ+ Α +
Τροποποιήθηκελίστα προς τα πίσω:ΠΡΟΣ ΤΟ+ΠΡΟΣ ΤΟ+ΕΙΝΑΙ+Ρ+Ε+ρε+ ΚΑΙ +

Τώρα, ας ρίξουμε μια ματιά στα πλεονεκτήματα και τους περιορισμούς αυτής της επαναληπτικής διεπαφής στην Java.

Πλεονεκτήματα του Iterator στην Ιάβα

Το Iterator στην Java έχει τα ακόλουθα πλεονεκτήματα.

  • Μπορείτε να χρησιμοποιήσετε αυτά τα επαναληπτικά για οποιαδήποτε κατηγορία Συλλογής.
  • Το Iterator στη Java υποστηρίζει και τα δύο ανάγνωση καθώς αφαιρώ λειτουργίες.
  • Εάν χρησιμοποιείτε για βρόχο δεν μπορείς ενημέρωση (προσθήκη / αφαίρεση) της Συλλογής, ενώ με τη βοήθεια ενός επαναληπτή μπορείτε εύκολα να ενημερώσετε τη Συλλογή.
  • Είναι ένας καθολικός δρομέας για το API συλλογής.
  • Τα ονόματα της μεθόδου είναι πολύ απλά και πολύ εύκολα στη χρήση.

Περιορισμοί του Iterator στην Ιάβα

Οι επαναληπτές στην Java έχουν τα ακόλουθα μειονεκτήματα:

  • Μπορείτε να εκτελέσετε μόνο επανάληψη κατεύθυνσης προς τα εμπρός, δηλαδή το Uni-Directional Iterator.
  • Η αντικατάσταση και προσθήκη ενός νέου στοιχείου δεν υποστηρίζεται από το Iterator.
  • Το ListIterator είναι το πιο ισχυρό επαναληπτικό αλλά ισχύει μόνο για κλάσεις που εφαρμόζονται στη λίστα. Επομένως, δεν είναι καθολικός επαναληπτικός.
  • Όταν χρησιμοποιείτε τις λειτουργίες CRUD, δεν υποστηρίζει τις λειτουργίες δημιουργίας και ενημέρωσης.
  • Όταν το συγκρίνετε με το Spliterator, δεν σας επιτρέπει να επαναλαμβάνετε παράλληλα στοιχεία. Αυτό σημαίνει ότι υποστηρίζει μόνο διαδοχική επανάληψη.
  • Δεν υποστηρίζει καλύτερη απόδοση για να επαναλάβει μεγάλο όγκο δεδομένων.

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

php δημιουργία πίνακα από συμβολοσειρά

Εάν βρήκατε αυτό το άρθρο σχετικά με το 'Iterator in Java', ανατρέξτε στο μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο.

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

Εάν συναντήσετε οποιεσδήποτε ερωτήσεις, μη διστάσετε να κάνετε όλες τις ερωτήσεις σας στην ενότητα σχολίων του 'Iterator in Java' και η ομάδα μας θα χαρεί να απαντήσει.