Διαφορά μεταξύ TreeSet και TreeMap

Πίνακας περιεχομένων:

Διαφορά μεταξύ TreeSet και TreeMap
Διαφορά μεταξύ TreeSet και TreeMap

Βίντεο: Διαφορά μεταξύ TreeSet και TreeMap

Βίντεο: Διαφορά μεταξύ TreeSet και TreeMap
Βίντεο: THE TALENT TREE THAT WILL HELP YOU WIN IN STATE OF SURVIVAL! 2024, Ιούλιος
Anonim

Βασική διαφορά – TreeSet vs TreeMap

Ένας πίνακας χρησιμοποιείται για την αποθήκευση ενός συνόλου στοιχείων δεδομένων του ίδιου τύπου. Οι περισσότερες γλώσσες προγραμματισμού υποστηρίζουν Arrays. Ακόμα κι αν ένας πίνακας μπορεί να αποθηκεύσει πολλές τιμές. υπάρχει ένα σημαντικό μειονέκτημα. Μόλις δημιουργηθεί ο πίνακας, δεν είναι δυνατή η αλλαγή του. Εάν ο προγραμματιστής δήλωσε έναν πίνακα 10 στοιχείων, τότε δεν μπορεί να αποθηκεύσει 15 στοιχεία. Όταν ο προγραμματιστής δηλώνει έναν πίνακα 10 στοιχείων και αποθηκεύει μόνο 5 στοιχεία, η υπόλοιπη εκχωρημένη μνήμη είναι χαμένη. Οι γλώσσες προγραμματισμού όπως η Java διαθέτουν Συλλογές για δυναμική αποθήκευση στοιχείων δεδομένων. Υπάρχει μια σειρά από συλλογές. Οι συλλογές βοηθούν στην εκτέλεση προσθήκης, αφαίρεσης στοιχείων και άλλων λειτουργιών. Η βασική διεπαφή είναι γνωστή ως Συλλογή. Το Set, το List και το Queue είναι μερικές διεπαφές που επεκτείνουν τη διεπαφή συλλογής. Ο χάρτης είναι μια διεπαφή ιεραρχίας συλλογής, αλλά δεν επεκτείνει τη διεπαφή συλλογής. Το TreeSet είναι μια κλάση που υλοποιεί τη διεπαφή Set και αποθηκεύει τα στοιχεία σε αύξουσα σειρά. Το TreeMap είναι μια κλάση που υλοποιεί τη διεπαφή χάρτη και αποθηκεύει ζεύγη κλειδιών και τιμών σε αύξουσα σειρά. Αυτή είναι η βασική διαφορά. Αυτό το άρθρο εξετάζει τη διαφορά μεταξύ TreeSet και TreeMap.

Τι είναι το TreeSet;

Το TreeSet είναι μια κλάση που υλοποιεί τη διεπαφή Set. Το TreeSet διατηρεί μοναδικά στοιχεία. Το TreeSet υλοποιεί τη διεπαφή NavigableSet. Η διεπαφή Navigable επεκτείνει τις διεπαφές SortedSet, Set, Collection και Iterable με ιεραρχική σειρά. Το TreeSet αποθηκεύει τα στοιχεία με αύξουσα σειρά. Εάν η σειρά εισαγωγής είναι A, C, B, το TreeSet θα τα αποθηκεύσει ως A, B, C. Υπάρχουν μέθοδοι του TreeSet. Η μέθοδος προσθήκης χρησιμοποιείται για την προσθήκη ενός στοιχείου στο σύνολο. Η μέθοδος αφαίρεσης χρησιμοποιείται για την αφαίρεση ενός καθορισμένου στοιχείου. Η καθαρή μέθοδος χρησιμοποιείται για την αφαίρεση όλων των στοιχείων. Η μέθοδος contain επιστρέφει ένα true αν το καθορισμένο στοιχείο υπάρχει στο σύνολο. Είναι μερικές μέθοδοι που παρέχονται από το TreeSet. Ανατρέξτε στο παρακάτω πρόγραμμα.

Διαφορά μεταξύ TreeSet και TreeMap
Διαφορά μεταξύ TreeSet και TreeMap

Εικόνα 01: Πρόγραμμα με χρήση TreeSet

Σύμφωνα με το παραπάνω πρόγραμμα, το δεντροσύνολο είναι αντικείμενο τύπου TreeSet. Μπορεί να αποθηκεύσει Strings. Τα στοιχεία προστίθενται χρησιμοποιώντας τη μέθοδο προσθήκης. Η σειρά εισαγωγής είναι A, C, D και B. Χρησιμοποιώντας τον επαναλήπτη, οι αποθηκευμένες τιμές εκτυπώνονται στην οθόνη. Τα στοιχεία αποθηκεύονται με τη σειρά A, B, C, D. Επομένως, το TreeSet διατηρεί μια αύξουσα σειρά των στοιχείων του συνόλου. Εάν υπάρχει άλλο στοιχείο ως "D" δεν θα εκτυπωθεί επειδή το στοιχείο D υπάρχει ήδη στο σύνολο. Αποθηκεύει πάντα μοναδικά στοιχεία.

Τι είναι το TreeMap;

Το TreeMap είναι μια κλάση που υλοποιεί τη διεπαφή χάρτη. Ο χάρτης υποστηρίζει ζεύγη κλειδιών-τιμών. Κάθε ζεύγος κλειδιών, τιμών είναι μια καταχώρηση. Κάθε κλειδί είναι μοναδικό και έχει την αντίστοιχη τιμή. Η μέθοδος containKey χρησιμοποιείται για την εύρεση ενός συγκεκριμένου κλειδιού ενώ η μέθοδος containValue χρησιμοποιείται για την εύρεση μιας συγκεκριμένης τιμής. Η μέθοδος get χρησιμοποιείται για την εύρεση της τιμής που αντιστοιχεί στο δεδομένο κλειδί. Η μέθοδος put χρησιμοποιείται για την αποθήκευση μιας τιμής με το δεδομένο κλειδί. Είναι επίσης δυνατό να αφαιρέσετε ένα στοιχείο σε ένα συγκεκριμένο κλειδί χρησιμοποιώντας τη μέθοδο αφαίρεσης. Αυτές είναι μερικές κοινές μέθοδοι διεπαφής χάρτη. Βοηθά στην αναζήτηση, εισαγωγή και διαγραφή στοιχείων με βάση το κλειδί. Η κλάση TreeMap υλοποιεί το NavigableMap. Το NavigableMap επεκτείνει το SortedMap. Το SortedMap επεκτείνει τον χάρτη. Επομένως, οι μέθοδοι του Map μπορούν να χρησιμοποιηθούν με το TreeMap. Ανατρέξτε στο παρακάτω πρόγραμμα.

Βασική διαφορά μεταξύ TreeSet και TreeMap
Βασική διαφορά μεταξύ TreeSet και TreeMap

Εικόνα 02: Πρόγραμμα με χρήση TreeMap

Σύμφωνα με το παραπάνω πρόγραμμα, δημιουργείται ένα αντικείμενο του TreeMap. Ο προγραμματιστής μπορεί να προσθέσει στοιχεία χρησιμοποιώντας το αντικείμενο. Η μέθοδος put χρησιμοποιείται για την εισαγωγή ζευγών κλειδιών, τιμών. Η μέθοδος λήψης χρησιμοποιείται με το συγκεκριμένο κλειδί για την ανάκτηση των στοιχείων. Ο προγραμματιστής μπορεί να χρησιμοποιήσει το Map. Entry για να εκτυπώσει όλα τα κλειδιά και τις τιμές. Κατά την παρατήρηση της εξόδου, δεν διατηρεί τη σειρά που έχει εισαχθεί. Αποθηκεύει τα στοιχεία με αύξουσα σειρά.

Ποιες είναι οι ομοιότητες μεταξύ TreeSet και TreeMap;

  • Τόσο το TreeSet όσο και το TreeMap βρίσκονται στην ιεραρχία της συλλογής.
  • Τόσο το TreeSet όσο και το TreeMap διατηρούν την αύξουσα σειρά.
  • Τόσο το TreeSet όσο και το TreeMap μπορούν να αποθηκεύσουν και να χειριστούν πολλά στοιχεία.

Ποια είναι η διαφορά μεταξύ TreeSet και TreeMap;

TreeSet vs TreeMap

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

Σύνοψη – TreeSet vs TreeMap

Ένας πίνακας χρησιμοποιείται για την αποθήκευση ενός συνόλου στοιχείων, αλλά δεν βοηθά στη δυναμική αποθήκευση στοιχείων. Οι γλώσσες προγραμματισμού όπως η Java περιέχουν Συλλογές για δυναμική αποθήκευση στοιχείων δεδομένων. Η συλλογή είναι η βασική κλάση στην ιεραρχία συλλογής. Αποτελείται από κλάσεις και διεπαφές για την εκτέλεση λειτουργιών όπως προσθήκη, διαγραφή στοιχείων. Το Set και το Map είναι δύο διεπαφές της ιεραρχίας Collection. Το TreeSet είναι μια κλάση που υλοποιεί τη διεπαφή Set και αποθηκεύει τα στοιχεία σε αύξουσα σειρά. Το TreeMap είναι μια κλάση που υλοποιεί τη διεπαφή χάρτη και αποθηκεύει ζεύγη κλειδιών και τιμών σε αύξουσα σειρά. Αυτή είναι η διαφορά μεταξύ TreeSet και TreeMap.

Συνιστάται: