linkedhashmap java linkedhashmap example implementation
Αυτό το σεμινάριο εξηγεί τα πάντα σχετικά με το LinkedHashMap στην Java, συμπεριλαμβανομένων του LinkedHashMap Παράδειγμα και μεθόδων, της εφαρμογής σε Java, LinkedHashMap έναντι HashMap:
Το LinkedHashMap στην Java είναι μια εφαρμογή που συνδυάζει την εφαρμογή HashTable και LinkedList. Εφαρμόζει τη διασύνδεση χάρτη. Τα ζεύγη κλειδιών-τιμών του LinkedHashMap έχουν προβλέψιμη σειρά επανάληψης.
Εκτός από τη διασύνδεση χάρτη, το LinkedHashMap επεκτείνει επίσης την κλάση HashMap.
=> Επισκεφτείτε εδώ για να δείτε τη σειρά εκπαίδευσης Java για όλους.
sql δοκιμές ερωτήσεις και απαντήσεις pdf
Τι θα μάθετε:
- LinkedHashMap στην Java
- LinkedHashMap εναντίον HashMap
- HashMap Vs TreeMap Vs LinkedHashMap
- συμπέρασμα
LinkedHashMap στην Java
Μερικά από τα κύρια χαρακτηριστικά του LinkedHashMap είναι:
- Περιέχει τιμές βασισμένες σε κλειδιά.
- Διατηρεί τη σειρά εισαγωγής ζευγών κλειδιού-τιμής.
- Δεν επιτρέπει διπλότυπα, έχει μοναδικά στοιχεία.
- Μπορεί να έχει ένα μόνο μηδενικό κλειδί. Αλλά επιτρέπει πολλές μηδενικές τιμές.
- Το Java LinkedHashMap δεν είναι συγχρονισμένο.
Δήλωση LinkedHashMap
Η κλάση LinkedHashMap στην Java είναι μέρος του πακέτου java.util.
Η γενική δήλωση αυτής της κλάσης στην Java έχει ως εξής:
public class LinkedHashMap extends HashMap implements Map
Εδώ K => τύπος κλειδιών στο χάρτη.
V => τύπος τιμών που αντιστοιχίζονται σε πλήκτρα.
Η ιεραρχία τάξης του LinkedHashMap εμφανίζεται παρακάτω:
πώς να ανοίξετε τα αρχεία torrent windows 10
Όπως φαίνεται στο παραπάνω διάγραμμα, το LinkedHashMap κληρονομεί την κατηγορία HashMap και AbstractMap και εφαρμόζει τη διεπαφή χάρτη.
Παράδειγμα LinkedHashMap
Δίνεται παρακάτω είναι ένα απλό παράδειγμα.
import java.util.*; class Main{ public static void main(String args()){ //declare and initialize LinkedHashMap LinkedHashMap num_map=new LinkedHashMap(); num_map.put(1,'ONE'); num_map.put(2,'TWO'); num_map.put(3,'THREE'); num_map.put(4,'FOUR'); num_map.put(5,'FIVE'); System.out.println('The contents of LinkedHashMap:'); //retrieve the key-value pairs as set using entrySet & print each entry for(Map.Entry m:num_map.entrySet()){ System.out.println(m.getKey()+' '+m.getValue()); } } }
Παραγωγή:
Τα περιεχόμενα του LinkedHashMap:
1 ΕΝΑ
2 ΔΥΟ
3 ΤΡΙΑ
4 ΤΕΣΣΕΡΑ
5 ΠΕΝΤΕ
Κατασκευαστές και μέθοδοι
Ας συζητήσουμε τους κατασκευαστές και τις μεθόδους που παρέχονται από την τάξη LinkedHashMap. Πρώτον, θα συζητήσουμε τους κατασκευαστές που ακολουθούνται από μεθόδους.
Κατασκευαστές
Πρωτότυπο κατασκευαστή | Περιγραφή | |
---|---|---|
keySet | Ορισμός keySet () | Επιστρέφει το σύνολο κλειδιών στο χάρτη. |
LinkedHashMap () | Προεπιλεγμένος κατασκευαστής για LinkedHashMap. | |
LinkedHashMap (χωρητικότητα int) | Δημιουργεί ένα αντικείμενο LinkedHashMap με δεδομένη χωρητικότητα. | |
LinkedHashMap (χωρητικότητα, float loadFactor) | Δημιουργεί ένα αντικείμενο LinkedHashMap με δεδομένη χωρητικότητα και loadFactor. | |
LinkedHashMap (χωρητικότητα, float loadFactor, boolean accessOrder) | Δημιουργεί ένα αντικείμενο LinkedHashMap με δεδομένη χωρητικότητα και loadFactor. Επίσης, καθορίζεται ο τρόπος παραγγελίας (accessOrder). | |
LinkedHashMap (Χάρτης m) | Δημιουργεί ένα αντικείμενο LinkedHashMap και το αρχικοποιεί με τις τιμές από το χάρτη που πέρασε ως όρισμα. |
Μέθοδοι
Μέθοδος | Πρωτότυπο μεθόδου | Περιγραφή |
---|---|---|
παίρνω | V get (πλήκτρο αντικειμένου) | Επιστρέφει την τιμή για το δεδομένο κλειδί. |
Σαφή | κενό καθαρό () | Διαγράφει όλα τα ζεύγη τιμών-κλειδιών στον χάρτη. |
περιέχει τιμή | boolean περιέχειValue (τιμή αντικειμένου) | Ελέγχει εάν ο χάρτης περιέχει ένα ή περισσότερα κλειδιά αντιστοιχισμένα στη δεδομένη τιμή. Επιστρέφει true αν ναι. |
είσοδοςSet | Σειρά | Επιστρέφει το σύνολο καταχωρήσεων στο χάρτη. |
για κάθε | void forEach (δράση BiConsumer) | Εκτελεί τη δεδομένη ενέργεια για όλες τις καταχωρίσεις στον χάρτη. |
getOrDefault | V getOrDefault (Πλήκτρο αντικειμένου, V defaultValue) | Επιστρέφει την τιμή που έχει αντιστοιχιστεί στο κλειδί. Εάν δεν έχει αντιστοιχιστεί καμία τιμή, επιστρέφεται η προεπιλογή. |
αφαίρεσηEldestEntry | προστατευμένο boolean removeEldestEntry (Map.Entry eldest) | Καταργεί την παλαιότερη καταχώριση στο χάρτη και επιστρέφει αληθινή κατά την κατάργηση. |
αντικαταστήστε Όλα | void ReplAll (λειτουργία BiFunction) | Επικαλείται τη δεδομένη συνάρτηση σε κάθε καταχώρηση και αντικαθιστά το αποτέλεσμα της συνάρτησης με τις τιμές. |
αξίες | Τιμές συλλογής () | Επιστρέφει τη συλλογή τιμών στο χάρτη. |
Υλοποίηση σε Java
Το παρακάτω πρόγραμμα Java δείχνει την εφαρμογή του LinkedHashMap, δείχνοντας τις μεθόδους που συζητήθηκαν παραπάνω.
import java.util.*; public class Main { public static void main(String a()) { //declare LinkedHashMap and initialize it with values LinkedHashMap colors_map = new LinkedHashMap(); colors_map.put('one', 'Red'); colors_map.put('two', 'Green'); colors_map.put('three', 'Blue'); // Original LinkedHashMap System.out.println('Original LinkedHashMap:' + colors_map); //isEmpty () System.out.println('LinkedHashMap 'colors_map' empty?:' + colors_map.isEmpty()); //size () System.out.println('Size of the map: ' + colors_map.size()); //get () System.out.println('Value for key = 'one':' + colors_map.get('one')); //containsKey () System.out.println('colors_map contains key = 'two':'+ colors_map.containsKey('two')); //containsValue () System.out.println('colors_map contains value 'ree':' + colors_map.containsValue('ree')); //remove () System.out.println('delete element 'one': ' + colors_map.remove('one')); System.out.println('Updated colors_map:' + colors_map); } }
Παραγωγή:
Original LinkedHashMap: {one = Κόκκινο, δύο = Πράσινο, τρία = Μπλε}
LinkedHashMap «colors_map» κενό;: false
Μέγεθος του χάρτη: 3
Τιμή για το κλειδί = «ένα»: Κόκκινο
colors_map περιέχει το κλειδί = ‘two’: true
colors_map περιέχει την τιμή «ree»: false
διαγραφή στοιχείου «ένα»: Κόκκινο
Ενημερωμένα χρώματα_map: {two = Green, three = Blue}
Σε αυτό το πρόγραμμα, δηλώνουμε έναν έγχρωμο χάρτη και τον αρχικοποιούμε. Στη συνέχεια, χρησιμοποιούμε τις διάφορες μεθόδους που συζητήθηκαν παραπάνω για να πάρουμε τα αποτελέσματα.
LinkedHashMap εναντίον HashMap
LinkedHashMap | HashMap | ||
---|---|---|---|
Η χρονική πολυπλοκότητα των βασικών λειτουργιών | Ο (1) | Ο (1) | Ο (1) |
Εφαρμόζει παραγγελθέντες χάρτες. | Εφαρμόζει χάρτες χωρίς ταξινόμηση. | ||
Χρησιμοποιεί διπλά συνδεδεμένη λίστα κουβάδων. | Χρησιμοποιεί πίνακα κατακερματισμού. | ||
Διατηρεί την τάξη κατά την επανάληψη των στοιχείων. | Δεν διατηρεί τη σειρά κατά την επανάληψη. | ||
Απαιτεί περισσότερη μνήμη. | Απαιτεί λιγότερη μνήμη από το LinkedHashMap. | ||
Οι βασικές λειτουργίες όπως η προσθήκη, η αφαίρεση, η αναζήτηση κ.λπ. είναι πιο αργές. | Οι βασικές λειτουργίες όπως η προσθήκη, η κατάργηση της αναζήτησης είναι πιο γρήγορες. |
HashMap Vs TreeMap Vs LinkedHashMap
Ας συγκρίνουμε τώρα τις τρεις υλοποιήσεις χάρτη, δηλαδή. HashMap, TreeMap και LinkedHashMap.
Ο παρακάτω πίνακας δείχνει τη σύγκριση / διαφορά.
Παράμετρος σύγκρισης | HashMap | LinkedHashMap | Χάρτης δέντρου |
---|---|---|---|
Διεπαφή | Χάρτης | Χάρτης | Χάρτης, χάρτη ταξινόμησης, χάρτη πλοήγησης |
Δομή δεδομένων | Λίστα κουβάδων | Διπλή συνδεδεμένη λίστα κουβάδων | Κόκκινο-μαύρο δέντρο |
Παραγγελία επανάληψης | Δεν διατηρείται παραγγελία. | Ταξινόμηση σύμφωνα με τη σειρά εισαγωγής | Ταξινόμηση σύμφωνα με τη φυσική σειρά των στοιχείων |
Null Keys | Επιτρέπονται | Επιτρέπονται | Δεν επιτρέπεται |
Συγχρονισμός | Δεν συγχρονίζεται | Δεν συγχρονίζεται | Δεν συγχρονίζεται |
Απαίτηση κλειδιών | Πρέπει να αντικαταστήσετε τις μεθόδους ισούται με () και hashCode () | Πρέπει να αντικαταστήσετε τις μεθόδους ισούται με () και hashCode () | Η φυσική παραγγελία διατηρείται ή ο συγκριτής πρέπει να παρέχεται |
Συχνές Ερωτήσεις
Q # 1) Τι είναι το LinkedHashMap στην Java;
Απάντηση: Το LinkedHashMap στην Java εφαρμόζεται ως συνδυασμός του HashTable και LinkedList. Εφαρμόζει τη διεπαφή χάρτη. Έχει μια προβλέψιμη σειρά επανάληψης. Χρησιμοποιεί εσωτερικά μια λίστα διπλής σύνδεσης για καταχωρήσεις.
Q # 2)Πώς λειτουργεί το LinkedHashMap στην Java;
Απάντηση: Είναι παρόμοιο με το HashMap αλλά διαφέρει από το HashMap με τη σειρά εισαγωγής που διατηρεί το LinkedHashMap. Τα στοιχεία στο LinkedHashMap αποθηκεύονται με τον ίδιο τρόπο όπως εισάγονται στη δομή δεδομένων.
Q # 3)Πώς μπορώ να κάνω βρόχο μέσω LinkedHashMap;
Απάντηση: Μπορούμε να βρούμε ένα LinkedHashMap χρησιμοποιώντας έναν επαναληπτικό.
Ακολουθούν τα βήματα που μπορούμε να ακολουθήσουμε για να επαναλάβουμε μέσω του LinkedHashMap χρησιμοποιώντας το iterator:
- Δημιουργήστε ένα νέο αντικείμενο LinkedHashMap.
- Χρησιμοποιήστε τη μέθοδο Put API για να εισαγάγετε ζεύγη τιμών-κλειδιών στο χάρτη.
- Κλήση entrySet () μέθοδος API για τη λήψη ενός συνόλου ζευγών τιμών-κλειδιών στο χάρτη.
- Καλέστε τον επαναληπτή σε αυτό το σύνολο για να ανακτήσετε κάθε ζεύγος κλειδιού-τιμής χρησιμοποιώντας τις μεθόδους API getKey () και getValue ().
Q # 4)Ποια είναι η χρήση του LinkedHashMap στην Java;
Απάντηση: Η κύρια χρήση του LinkedHashMap στην Java είναι η χρήση του για τη διατήρηση της σειράς εισαγωγής. Μπορεί επίσης να χρησιμοποιηθεί για τη διατήρηση της παραγγελίας πρόσβασης χρησιμοποιώντας την πρόσβαση στα πλήκτρα. Δεδομένου ότι είναι ταχύτερο από το HashMap, το LinkedHashMap μπορεί να χρησιμοποιηθεί στη θέση του HashMap όπου η απόδοση είναι κρίσιμη.
Q # 5)Είναι το HashMap πιο γρήγορο από το LinkedHashMap;
Απάντηση: Και τα δύο είναι παρόμοια στην απόδοση. Το HashMap χρειάζεται λιγότερη μνήμη σε σύγκριση με το LinkedHashMap, καθώς το HashMap δεν διατηρεί τη σειρά πρόσβασης. Έτσι, συγκριτικά, το HashMap είναι πιο γρήγορο.
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε συζητήσει το LinkedHashMap στην Java. Έχουμε δει τις λεπτομέρειες σχετικά με τη δήλωση τάξης, την ιεραρχία τάξης, τους κατασκευαστές και τις μεθόδους.
Έχουμε επίσης μάθει τις βασικές διαφορές μεταξύ, LinkedHashMap και HashMap. Συζητήσαμε επίσης την τρισδιάστατη διαφορά μεταξύ LinkedHashMap, HashMap και TreeMap.
το καλύτερο δωρεάν πρόγραμμα λήψης μουσικής mp3
Στο επερχόμενο σεμινάριό μας, θα διερευνήσουμε περισσότερα θέματα σχετικά με το Java Collection Framework.
=> Παρακολουθήστε εδώ την απλή εκπαίδευση Java.
Συνιστώμενη ανάγνωση
- Εκμάθηση Java Reflection με παραδείγματα
- Εκμάθηση έκλειψης σε βάθος για αρχάριους
- Τι είναι ένα Java HashTable - Εφαρμογή HashTable & Παράδειγμα
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- Πρόσβαση τροποποιητών σε Java - Εκμάθηση με παραδείγματα
- Εκμάθηση Java SWING: Container, Components and Event Handling
- Το Java String περιέχει () Μέθοδος Εκμάθησης με Παραδείγματα
- Java String με String Buffer και String Builder Tutorial