Πώς να εφαρμόσετε τη διασύνδεση χάρτη στην Java;



Αυτό το άρθρο σχετικά με το Java Map Inteface θα σας βοηθήσει να καταλάβετε πώς λειτουργεί ο χάρτης στην Java και σας παρουσιάζει σε διαφορετικές τάξεις που εφαρμόζουν το Map Interface

Ένα από τα πιο ενδιαφέροντα θέματα στην Java είναι η διασύνδεση του Map πουαντιπροσωπεύει μια αντιστοίχιση μεταξύ ενός κλειδιού και μιας τιμής.Συχνά παρανοείται ότι είναι υποτύπος διεπαφή στην Java.Αυτό το άρθρο σχετικά με το Java Map Interface θα σας βοηθήσει να κατανοήσετε και να μάθετε πώς λειτουργεί ένας χάρτης .

Παρακάτω αναφέρονται τα θέματα που καλύπτονται σε αυτό το άρθρο:





Διεπαφή χάρτη Java

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

Χάρτες σε Java - Java Map Interface - Edureka



c ++ τι είναι ο χώρος ονομάτων

Στο , java.util.Map είναι ένα που περιλαμβάνει μεθόδους υπογραφές για εισαγωγή, αφαίρεση και ανάκτηση στοιχείων με βάση ένα κλειδί. Με τέτοιες μεθόδους, είναι ένα τέλειο εργαλείο για χρήση για αντιστοίχιση κλειδιού-τιμής, όπως λεξικά.

Χαρακτηριστικά της διασύνδεσης χάρτη

  • Η διασύνδεση χαρτών δεν είναι πραγματικός υποτύπος της διεπαφής συλλογής, επομένως,τα χαρακτηριστικά και οι συμπεριφορές του διαφέρουν από τους υπόλοιπους τύπους συλλογής.
  • Παρέχειτρεις προβολές συλλογής - σύνολο κλειδιών, σύνολο αντιστοιχίσεων τιμών-κλειδιών και συλλογή τιμών.
  • ΠΡΟΣ ΤΟΧάρτηςδεν μπορεί να περιέχει διπλά πλήκτρα και κάθε κλειδί μπορεί να αντιστοιχίσει το πολύ σε μία τιμή. Ορισμένες εφαρμογές επιτρέπουν το μηδενικό κλειδί και την τιμή null ( HashMap και LinkedHashMap ) αλλά μερικοί όχι ( Χάρτης δέντρου).
  • Η διεπαφή χάρτη δεν εγγυάται τη σειρά των αντιστοιχίσεων, ωστόσο, εξαρτάται από την εφαρμογή. Για παράδειγμα, HashMap δεν εγγυάται τη σειρά χαρτών αλλά Χάρτης δέντρου κάνει.
  • Η κλάση AbstractMap παρέχει μια σκελετική υλοποίηση της διασύνδεσης Java Map και του περισσότερου συγκεκριμένου χάρτη τάξεις επέκταση κλάσης AbstractMap και εφαρμογή απαιτούμενων μεθόδων.

Τώρα που έχετε μια ιδέα για τη διασύνδεση του Χάρτη είναι, ας προχωρήσουμε και ρίξτε μια ματιά στην ιεραρχία του Java Map.

Ιεραρχία χαρτών Java

Υπάρχουν δύο διεπαφές που εφαρμόζουν το Map in Java: Map and Ταξινομημένος χάρτης. Και οι δημοφιλείς τάξεις υλοποίησης του Map in Java είναι HashMap, TreeMap , και LinkedHashMap. Η ιεραρχία του Java Map δίνεται παρακάτω:



Πριν ρίξουμε μια ματιά στις τρεις κατηγορίες υλοποίησης του Java Map Interface που αναφέρονται παραπάνω, ακολουθούν ορισμένες κοινές μέθοδοι που μπορείτε να συναντήσετε κατά την εργασία με το Χάρτη.

Μέθοδοι στη διασύνδεση χαρτών Java

Μέθοδοι

Περιγραφή

δημόσια θέση (κλειδί αντικειμένου, τιμή αντικειμένου)Αυτή η μέθοδος εισάγει μια καταχώριση στο χάρτη
δημόσιοvoid putAll (χάρτης χάρτη)Αυτή η μέθοδος εισάγει τον καθορισμένο χάρτη σε αυτόν τον χάρτη
Αφαίρεση δημόσιου αντικειμένου (κλειδί αντικειμένου)Χρησιμοποιείται για τη διαγραφή μιας καταχώρησης για το καθορισμένο κλειδί
δημόσιο σύνολο κλειδιών Set ()Επιστρέφει την προβολή Set που περιέχει όλα τα πλήκτρα
δημόσιο σύνολο καταχώρησηςSet ()Επιστρέφει την προβολή Set που περιέχει όλα τα πλήκτρα και τις τιμές
κενό καθαρό ()Χρησιμοποιείται για την επαναφορά του χάρτη
public void putIfAbsent (κλειδί K, τιμή V)Εισάγει την καθορισμένη τιμή με το καθορισμένο κλειδί στο χάρτη μόνο εάν δεν έχει ήδη καθοριστεί
δημόσια Αντικείμενο get (κλειδί αντικειμένου)Επιστρέφει την τιμή για το καθορισμένο κλειδί
public boolean περιέχειKey (κλειδί αντικειμένου)
Χρησιμοποιείται για την αναζήτηση του καθορισμένου κλειδιού από αυτόν τον χάρτη

Εφαρμογές του χάρτη

Υπάρχουν πολλά που εφαρμόζουν το Java Mapαλλά είναι τρεις εφαρμογές μεγάλης και γενικής χρήσηςHashMap, TreeMap και LinkedHashMap.Ας δούμε τα χαρακτηριστικά και τις συμπεριφορές κάθε εφαρμογής με ένα παράδειγμα

Κατηγορία HashMap

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

πακέτο MyPackage import java.util. * class HashMapExample {public static void main (String [] args) {Map course = new HashMap () // Προσθήκη μερικών μαθημάτων. course.put («Java Courses», new Integer (6)) courses.put («Cloud Courses», new Integer (7)) courses.put («Programming Courses», new Integer (5)) Μαθήματα Επιστήμης Δεδομένων », νέος ακέραιος (2)) System.out.println (« Σύνολο μαθημάτων: »+ σειρές μαθημάτων.)st =ursus.entrySet () για (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println () String searchKey = 'Java Courses' if (ursus.containsKey (searchKey)) System.out.println ('Found total' +ursus.get (searchKey) + '+ searchKey)}}

Παραγωγή

Σύνολο μαθημάτων: 4 Μαθήματα Cloud: 7 Μαθήματα Προγραμματισμού: 5 Μαθήματα Επιστήμης Δεδομένων: 2 Μαθήματα Java: 6 Βρέθηκαν συνολικά 6 Μαθήματα Java

Στο παραπάνω πρόγραμμα, έχω χρησιμοποιήσει πολλές μεθόδους που αναφέρονται στον πίνακα. Πρώτον, το βάζω() Η μέθοδος εισάγει 4 καταχωρήσεις στο χάρτη, και το Μέγεθος() Η μέθοδος στο επόμενο βήμα εμφανίζει το μέγεθος του χάρτη (συνολικά ζεύγη τιμών-κλειδιών). Μετά από αυτό, στο επόμενο βήμα, το είσοδοςSet () Η μέθοδος επιστρέφει όλα τα ζεύγη κλειδιών-τιμών. Το πρόγραμμα δείχνει επίσης πώς να το χρησιμοποιήσετε παίρνω() μέθοδο για αναζήτηση μιας τιμής χρησιμοποιώντας το συσχετισμένο κλειδί.

Ας προχωρήσουμε στην επόμενη τάξη που εφαρμόζει το Java Map Interface - TreeMap.

Κατηγορία TreeMap

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

πακέτο MyPackage import java.util. * class TreeMapEx {public static void main (String [] args) {Map course = new TreeMap () // Προσθήκη μερικών μαθημάτων. course.put («Java Courses», new Integer (3)) courses.put («AWS Courses», new Integer (7)) courses.put («Programming Courses», new Integer (8)) Μαθήματα Επιστήμης Δεδομένων », νέος ακέραιος (2)) System.out.println (« Σύνολο μαθημάτων: »+ σειρές μαθημάτων.)st =ursus.entrySet () για (Map.Entry me: st) {System.out.print (me.getKey () + ':') System.out.println (me.getValue ())} System.out. println ()}}

Παραγωγή

Σύνολο μαθημάτων: 4 μαθήματα AWS: 7 μαθήματα επιστήμης δεδομένων: 2 μαθήματα Java: 3 μαθήματα προγραμματισμού: 8

Στην έξοδο, τα στοιχεία του χάρτη εκτυπώνονται με αυστηρή λεξικογραφική σειρά, η οποία δεν εμφανίζεται στα προηγούμενα παραδείγματα του HashMap. Η επόμενη τάξη που πρόκειται να συζητήσουμε είναι LinkedHashMap .

Κατηγορία LinkedHashMap

Όπως υποδηλώνει το όνομα, αυτή η εφαρμογή του Java Map interface χρησιμοποιεί έναν πίνακα κατακερματισμού και μια συνδεδεμένη λίστα ως τις υποκείμενες δομές δεδομένων. Έτσι, η σειρά ενός LinkedHashMap είναιπροβλέψιμη, με την προεπιλεγμένη σειρά εισαγωγής. Επίσης, επιτρέπει μηδενικά όπως στο HashMap. Ακολουθεί ένα παράδειγμα προγράμματος που δείχνει την κλάση TreeMap.

πακέτο MyPackage import java.util. * δημόσια τάξη LinkedHashMapExample {public static void main (String a []) {LinkedHashMap course = new LinkedHashMap () course.put ('Java Courses', new Integer (3)) Μαθήματα Cloud, νέα Integer (7)) μαθήματα. Είσοδος («Programming Courses», new Integer (8)) course.put («Data Science Courses», new Integer (2)) // Εκτυπώνει τα στοιχεία με την ίδια σειρά // καθώς εισήχθησαν System.out.println (μαθήματα) System.out.println ('Σύνολο μαθημάτων:' + course.size ()) System.out.println ('Περιέχει κλειδί' Hadoop '?' + ('Hadoop')) System.out.println ('Getting value for key' Programming Courses ':' +ursus.get ('Programming Courses')) System.out.println ('Είναι χάρτης άδειος;' + course.isEmpty ()) System.out.println ('delete element' Cloud Courses ':' +ursus.remove ('Cloud Courses')) System.out.println (μαθήματα)}}

Παραγωγή

{Μαθήματα Java = 3, Μαθήματα Cloud = 7, Μαθήματα προγραμματισμού = 8, Μαθήματα Επιστήμης Δεδομένων = 2} Σύνολο μαθημάτων: 4 Περιέχει το κλειδί «Hadoop»; false Λήψη τιμής για το κλειδί «Προγράμματα μαθημάτων»: 8 Είναι άδειος ο χάρτης; false element delete 'Cloud Courses': 7 {Java Courses = 3, Programming Courses = 8, Data Science Courses = 2}

Το παράδειγμα του προγράμματος είναι πολύ απλό να γίνει κατανοητό. Έχω χρησιμοποιήσει μερικές βασικές μεθόδους για να δείξω τη λειτουργία του LinkeHashMap στην Java. Όπως είπα νωρίτερα, εκτός από αυτά τα τρία υπάρχουν πολλές άλλες τάξεις που εφαρμόζουν το Java Map interface.

Αυτό μας φέρνει στο τέλος αυτού του άρθρου «Java Map Interface». Έχω καλύψει ένα από τα ενδιαφέροντα θέματα της Java, που είναι η διασύνδεση χαρτών στην Java.

Βεβαιωθείτε ότι εξασκείστε όσο το δυνατόν περισσότερο και επαναφέρετε την εμπειρία σας.

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

Έχετε μια ερώτηση για εμάς; Παρακαλώ αναφέρετέ το στην ενότητα σχολίων αυτής της «διεπαφής χάρτη java» άρθρο και θα επικοινωνήσουμε μαζί σας το συντομότερο δυνατό.