Java TreeSet

Java Treeset



Το TreeSet θεωρείται μία από τις πιο θεμελιώδεις εφαρμογές SortedSet που χρησιμοποιούν ένα δέντρο ως κύριο τύπο αποθήκευσης. Σε ένα σύνολο δέντρων, κάθε τιμή αποθηκεύεται στην ταξινομημένη ακολουθία. Από προεπιλογή, όλες οι αριθμητικές τιμές διατηρούνται με αύξουσα σειρά και οι συμβολοσειρές αντιμετωπίζονται με σειρά βάσει λεξικού. Το Δενδροσύνολο διατηρεί την αύξουσα σειρά και τη σειρά που βασίζεται σε λεξικό είτε έχει καθοριστεί το συγκρίσιμο είτε όχι. Για να υλοποιηθεί σωστά η διεπαφή Set, το TreeSet πρέπει να είναι συνεπές με το συγκρίσιμο. Επιπλέον, οι τιμές null δεν είναι αποδεκτές στο TreeSet.

Παράδειγμα 1

Η μέθοδος add() απαιτείται για την προσθήκη των στοιχείων μέσα στο TreeSet. Το καθορισμένο στοιχείο θα προστεθεί χρησιμοποιώντας την ίδια σειρά ταξινόμησης όπως όταν δημιουργείται το δέντρο. Δεν θα προσθέσει διπλότυπες εγγραφές.









Μέσα στον προηγούμενο κώδικα, έχουμε εισαγάγει την κλάση βοηθητικού προγράμματος της Java για πρόσβαση στις κλάσεις και τις μεθόδους της Java. Στη συνέχεια, η μέθοδος main() περικλείεται στον ορισμό της κλάσης 'CreatingTreeSet'. Δοκιμάσαμε τον κώδικα TreeSet μέσα στη μέθοδο main(). Πρώτα δημιουργήσαμε μια μεταβλητή 'person' από την κλάση TreeSet και ορίσαμε την κενή διεπαφή TreeSet στη δηλωμένη μεταβλητή 'persons'.



Σημειώστε ότι έχουμε προσθέσει μόνο τα στοιχεία συμβολοσειράς καθώς ο τύπος δεδομένων του TreeSet καθορίζεται τη στιγμή της δημιουργίας της διεπαφής του. Έχουμε εισαγάγει πέντε στοιχεία συμβολοσειράς στο TreeSet, όπου κάθε στοιχείο συμβολοσειράς είναι μοναδικό. Στη συνέχεια, διασχίσαμε κάθε στοιχείο του TreeSet από τη μέθοδο iterator(), η οποία θα εκτυπωθεί με αύξουσα σειρά στην οθόνη εξόδου.





Τα στοιχεία που δημιουργούνται χρησιμοποιώντας τη διεπαφή TreeSet λαμβάνονται ως έξοδο στο ακόλουθο στιγμιότυπο εξόδου:



Παράδειγμα 2

Μετά τη δημιουργία του TreeSet, μπορείτε να προσπελάσετε τα στοιχεία χρησιμοποιώντας την ενσωματωμένη μέθοδο που υποστηρίζεται από το TreeSet. Η μέθοδος contain() ελέγχει το συγκεκριμένο στοιχείο στο TreeSet. Η μέθοδος first() ανακτά το αρχικό στοιχείο του TreeSet, ενώ η μέθοδος last() ανακτά το τελικό στοιχείο του TreeSet.

Μετά την εισαγωγή της κλάσης βοηθητικού προγράμματος, έχουμε ορίσει μια κλάση 'AccessingTreeSet'. Στη συνέχεια, αναπτύξαμε τη μέθοδο main() στην καθορισμένη κλάση Java για την πρόσβαση στα στοιχεία TreeSet. Έχουμε δηλώσει ένα αντικείμενο 'Colors' τύπου NavigableSet με αναφορά στην κλάση TreeSet. Το TreeSet() είναι κενό, το οποίο προστίθεται με τις τιμές συμβολοσειράς με την κλήση της μεθόδου add(). Εδώ, έχουμε προσθέσει τρεις τιμές συμβολοσειράς, το όνομα των διαφορετικών χρωμάτων. Μετά από αυτό, οι τιμές TreeSet θα εμφανιστούν στην οθόνη μέσω της δήλωσης εκτύπωσης. Στη συνέχεια, δημιουργήσαμε μια μεταβλητή 'find' όπου η συμβολοσειρά αρχικοποιείται για έλεγχο. Για να ελέγξουμε αν η συμβολοσειρά υπάρχει στα Δέντρα που παρέχονται, καλέσαμε τη μέθοδο contain() και προσθέσαμε τη μεταβλητή «find» ως παράμετρο. Η μέθοδος Contains() επαληθεύει την ύπαρξη του καθορισμένου στοιχείου συμβολοσειράς από το δέντρο και δημιουργεί τα αποτελέσματα Boolean. Επιπλέον, έχουμε επίσης πάρει το πρώτο και το τελευταίο στοιχείο στο TreeSet από τη μέθοδο first() και τη μέθοδο last(). Και οι δύο μέθοδοι δημιουργούν το συγκεκριμένο στοιχείο που τοποθετείται στην πρώτη και την τελευταία θέση στο παρεχόμενο σύνολο δέντρων.

Ο έλεγχος της συγκεκριμένης συμβολοσειράς από τη μέθοδο contain() επιστρέφει την αληθινή τιμή, η οποία δείχνει ότι το στοιχείο συμβολοσειράς είναι μέρος της μεθόδου contain(). Στη συνέχεια, η πρώτη τιμή του TreeSet και η τελευταία τιμή εμφανίζονται επίσης παρακάτω:

Παράδειγμα 3

Το πρώτο και το τελευταίο στοιχείο έχει προσπελαστεί στο προηγούμενο παράδειγμα. Για την πρόσβαση και την εξάλειψη του υψηλότερου και του χαμηλότερου στοιχείου, χρησιμοποιείται η μέθοδος pollFirst() και pollLast(). Η μέθοδος pollFirst() χρησιμοποιείται για την ανάκτηση και την αφαίρεση του χαμηλότερου στοιχείου από το πρώτο. Η μέθοδος pollLast() εφαρμόζεται για τον εντοπισμό και την εξάλειψη του υψηλότερου στοιχείου από το τελευταίο του TreeSet.

Το πρόγραμμα δημιουργείται με την κλάση Java 'LowerAndHigherValueFromTreeSet' όπου έχει κατασκευαστεί η μέθοδος main(). Εδώ, παρέχουμε τη διεπαφή TreeSet από την κλάση TreeSet δηλώνοντας το αντικείμενο 'IntegerSet'. Αρχικά, δημιουργήσαμε ένα κενό TreeSet το οποίο μπορεί να προστεθεί με το στοιχείο χρησιμοποιώντας τη μέθοδο add(). Τα στοιχεία Integer φορτώνονται στο TreeSet χρησιμοποιώντας τη μέθοδο add().

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

Τα αποτελέσματα λαμβάνονται από τις μεθόδους pollFirst() και pollLast() που εμφανίζουν το χαμηλότερο και το υψηλότερο στοιχείο από το TreeSet στην έξοδο.

Παράδειγμα 4

Η μέθοδος clear() χρησιμοποιείται για την εκκαθάριση όλων των στοιχείων που υπάρχουν στο TreeSet. Το κενό TreeSet επιστρέφεται μόλις εφαρμοστεί η μέθοδος clear() στο TreeSet.

Η δημόσια κλάση 'ClearTreeSet' ορίζεται με τη μέθοδο main() στο προηγούμενο πρόγραμμα. Δημιουργήσαμε εκεί το κενό TreeSet, το οποίο ορίζεται στη μεταβλητή κλάσης TreeSet 'SetElements'. Στη συνέχεια, εισάγαμε τους τυχαίους αριθμούς με τη βοήθεια της μεθόδου add() μέσα στο TreeSet. Στη συνέχεια, εκτυπώσαμε το TreeSet για να δείξουμε τα στοιχεία μέσα σε αυτό. Μετά την εμφάνιση, χρησιμοποιήσαμε τη μέθοδο clear() για την εκκαθάριση του TreeSet.

Παράδειγμα 5

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

Έχουμε αναπτύξει τη μέθοδο main() εντός της κλάσης Java 'HeterogenousObjectTreeSet' όπου έχουμε ορίσει τη διεπαφή TreeSet. Το TreeSet ορίζεται στο αντικείμενο 'CharSet'. Στη συνέχεια, τα στοιχεία προστίθενται στο αντικείμενο 'CharSet' του TreeSet. Έχουμε εισαγάγει τα συγκρίσιμα στοιχεία με τη διεπαφή StringBuffer. Σημειώστε ότι το τελευταίο στοιχείο μέσα στο TreeSet είναι ετερογενές, το οποίο είναι μια ακέραια τιμή. Στη συνέχεια, εκτυπώσαμε τα στοιχεία TreeSet για να λάβουμε τα αποτελέσματα της ανάκτησης του ετερογενούς στοιχείου.

Τα αποτελέσματα δείχνουν ότι η πρώτη τιμή ευρετηρίου του TreeSet δεν εμφανίζεται, αλλά όλα τα στοιχεία χαρακτήρων εμφανίζονται στην οθόνη λόγω συγκρίσιμων αντικειμένων.

συμπέρασμα

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