java map interface tutorial with implementation examples
Αυτό το περιεκτικό σεμινάριο χαρτών Java καλύπτει τον τρόπο δημιουργίας, αρχικοποίησης και επανάληψης μέσω χαρτών. Θα μάθετε επίσης για τις μεθόδους χαρτών και τα παραδείγματα υλοποίησης:
Θα γνωρίσετε τα βασικά στοιχεία της διεπαφής χάρτη, τις μεθόδους που υποστηρίζονται από τη διεπαφή χάρτη και άλλους συγκεκριμένους όρους που σχετίζονται με τη διεπαφή χαρτών.
Η συλλογή χαρτών στην Java είναι μια συλλογή που χαρτογραφεί ένα κλειδί σε μια τιμή. Είναι μια συλλογή που αποτελείται από κλειδιά και τιμές. Κάθε καταχώριση στον χάρτη αποτελείται από ένα κλειδί με την αντίστοιχη τιμή του. Τα κλειδιά είναι μοναδικά στους χάρτες. Οι χάρτες μπορούν να χρησιμοποιηθούν συνήθως όταν πρέπει να τροποποιήσουμε μια συλλογή με βάση μια βασική τιμή.
=> Ελέγξτε ΟΛΑ τα Εκπαιδευτικά Java εδώ.
Τι θα μάθετε:
- Χάρτες στην Ιάβα
- Μέθοδοι χάρτη
- Εφαρμογή χάρτη Java
- συμπέρασμα
Χάρτες στην Ιάβα
Ο χάρτης στην Java είναι μέρος της διεπαφής java.util.map. Η διεπαφή χαρτών δεν αποτελεί μέρος της διεπαφής συλλογής και αυτός είναι ο λόγος για τον οποίο οι χάρτες διαφέρουν από τις άλλες συλλογές.
Η γενική ιεραρχία της διεπαφής χάρτη εμφανίζεται παρακάτω.
Όπως φαίνεται παραπάνω, υπάρχουν δύο διεπαφές για την εφαρμογή του χάρτη, δηλαδή διασύνδεση χάρτη και διεπαφή ταξινομημένου χάρτη. Υπάρχουν τρεις κατηγορίες, δηλαδή HashMap, TreeMap και LinkedHashMap.
Αυτοί οι τύποι χαρτών περιγράφονται παρακάτω:
Τάξη | Περιγραφή | |
---|---|---|
αφαιρώ | V αφαίρεση (πλήκτρο αντικειμένου) | Διαγράψτε μια καταχώριση χάρτη για το δεδομένο κλειδί |
LinkedHashMap | Επεκτείνεται από την τάξη HashMap. Αυτός ο χάρτης διατηρεί τη σειρά εισαγωγής | |
HashMap | Εφαρμόστε μια διεπαφή χάρτη. Δεν διατηρείται παραγγελία από το HashMap. | |
Χάρτης δέντρου | Εφαρμόζει διεπαφή χάρτη και ταξινομημένου χάρτη. Το TreeMap διατηρεί μια αύξουσα σειρά. |
Σημεία που πρέπει να θυμάστε για τους Χάρτες.
- Στους χάρτες, κάθε κλειδί μπορεί να αντιστοιχεί στη μέγιστη τιμή. Επίσης, δεν μπορούν να υπάρχουν διπλά κλειδιά στους χάρτες.
- Οι εφαρμογές χαρτών όπως το HashMap και το LinkedHashMap επιτρέπουν τιμές null key και null. Ωστόσο, το TreeMap δεν το επιτρέπει.
- Ένας χάρτης δεν μπορεί να διασταυρωθεί ως έχει. Ως εκ τούτου, για διασταύρωση, πρέπει να μετατραπεί σε σύνολο χρησιμοποιώντας τη μέθοδο keyet () ή entrySet ().
Δημιουργήστε έναν χάρτη στην Java
Για να δημιουργήσουμε έναν χάρτη στην Java, πρώτα, πρέπει να συμπεριλάβουμε τη διεπαφή στο πρόγραμμά μας. Μπορούμε να χρησιμοποιήσουμε μία από τις ακόλουθες δηλώσεις στο πρόγραμμα για να εισαγάγουμε τη λειτουργικότητα του χάρτη.
import java.util.*; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.TreeMap;
Πρέπει να δημιουργήσουμε μια συγκεκριμένη εφαρμογή του χάρτη καθώς είναι μια διεπαφή.
Οι ακόλουθες δηλώσεις δημιουργούν έναν χάρτη στην Java.
Map hash_map = new HashMap(); Map tree_map = new TreeMap();
Οι παραπάνω δηλώσεις θα δημιουργήσουν χάρτες με προεπιλεγμένες προδιαγραφές.
Μπορούμε επίσης να δημιουργήσουμε γενικούς χάρτες που καθορίζουν τους τύπους τόσο για το κλειδί όσο και για την τιμή.
Map myMap = new HashMap();
Ο παραπάνω ορισμός θα έχει κλειδιά τύπου συμβολοσειράς και αντικειμένων ως τιμές.
Αρχικοποιήστε έναν χάρτη στην Java
Μπορεί να αρχικοποιηθεί χρησιμοποιώντας τις ακόλουθες μεθόδους:
# 1) Χρήση συλλογών
Η κλάση Java Συλλογές έχει εργοστασιακές μεθόδους που μπορούν να χρησιμοποιηθούν για την προετοιμασία συλλογών, συμπεριλαμβανομένων χαρτών.
Ορισμένες μέθοδοι που χρησιμοποιούνται για την προετοιμασία του χάρτη είναι οι εξής:
(1) Συλλογές. EmptyMap ()
Το Collections.EmptyMap () επιστρέφει έναν σειριοποιήσιμο και αμετάβλητο χάρτη που είναι άδειος. Για παράδειγμα, την ακόλουθη γραμμή κώδικα,
Map myMap = Collections.EMPTY_MAP;
Αυτό θα δημιουργήσει έναν κενό χάρτη. Η παραπάνω μέθοδος μπορεί να φέρει «μη ελεγμένη προειδοποίηση ανάθεσης» και έτσι μπορούμε επίσης να χρησιμοποιήσουμε τη φόρμα ασφαλούς τύπου ως εξής.
Map myMap = Collections.emptyMap ();
(2) Συλλογές.unModifiableMap ()
Η μέθοδος unModifiableMap () παίρνει έναν άλλο χάρτη ως όρισμα και δημιουργεί μια μη τροποποιήσιμη προβολή του αρχικού χάρτη.
Map myMap = Collections.EMPTY_MAP; Map map_unmodifiable = Collections.unmodifiableMap (myMap);
(3) Συλλογές.singletonMap ()
Η κλάση Συλλογών παρέχει επίσης μια εργοστασιακή μέθοδο «singletonMap ()» που δημιουργεί έναν αμετάβλητο χάρτη singleton με μόνο μία καταχώριση.
Map singleton_map = Collections.singletonMap('CHN', 'Beijing');
# 2) Χρήση Java 8
Μπορούμε να αποκτήσουμε μια ροή δεδομένων από μεθόδους API ροής Java 8 και να κατασκευάσουμε χάρτες χρησιμοποιώντας Συλλέκτες.
Μερικές από τις μεθόδους για την κατασκευή χαρτών είναι:
(1) Collectors.toMap ()
Συλλέγουμε μια ροή και στη συνέχεια χρησιμοποιούμε τη μέθοδο Collectors.toMap () για την κατασκευή ενός χάρτη.
Map map = Stream.of(new String()(){{'USA', 'Washington'}, {'United Kingdom', 'London'} }).collect(Collectors.toMap(p -> p(0), p -> p(1)));
Η παραπάνω δήλωση δημιουργεί έναν χάρτη από τη ροή Java 8.
(2) Συλλέκτες. Συλλογή και στη συνέχεια ()
Σε αυτό, προσαρμόζουμε τη μέθοδο toMap () που επιτρέπει στον συλλέκτη να παράγει έναν αμετάβλητο χάρτη χρησιμοποιώντας τη μέθοδο collectAndThen ().
Map immutableMap = Stream.of(new String()(){ {'USA', 'Washington'}, {'United Kingdom', 'London”} }).collect(Collectors.collectingAndThen(Collectors.toMap(p -> p (0), p -> p(1)), Collections::unmodifiableMap));
# 3) Χρησιμοποιώντας τη μέθοδο put του Map Interface
Η μέθοδος put () της διασύνδεσης χαρτών μπορεί να χρησιμοποιηθεί για την εκχώρηση αρχικών τιμών στους χάρτες.
# 4) Χρήση της αρχικοποίησης Double Brace
Η τεχνική «αρχικοποίηση διπλού στηρίγματος» δημιουργεί μια εσωτερική τάξη. Αυτή η τάξη είναι ανώνυμη και έχει έναν αρχικοποιητή παρουσίας σε αυτήν. Αυτή δεν είναι μια προτιμώμενη τεχνική και πρέπει να αποφεύγεται καθώς μπορεί να οδηγήσει σε διαρροές μνήμης ή προβλήματα σειριοποίησης.
Το παρακάτω πρόγραμμα δείχνει τις διάφορες μεθόδους προετοιμασίας ενός χάρτη που συζητήθηκε παραπάνω.
import java.util.*; import java.util.stream.*; import java.util.stream.Collectors; public class Main { public static void main(String args()) { //using Collections //create an empty map Map emptymap = Collections.EMPTY_MAP; //create unmodifiable map using Collections Map unmodifiableMap = Collections.unmodifiableMap(emptymap); System.out.println('unmodifiableMap map values:' + unmodifiableMap); //singleton map Map singleton_map = Collections.singletonMap(10, ' TEN'); System.out.println('
singleton_map Map values:' + singleton_map); //using Java 8 //1. toMap method of collectors class Map map_cities = Stream.of(new String()(){ {'MH', 'Mumbai'}, {'CH', 'Chennai'}, {'DL', 'New Delhi'} }).collect(Collectors.toMap(p -> p(0), p -> p(1))); System.out.println('
map_cities values: ' + map_cities); //2. collectingAndThen method Map capitals_Map = Stream.of(new String()(){ {'MAH', 'Mumbai'}, {'GOA', 'Panaji'}, {'KAR', 'Bangaluru'} }).collect(Collectors.collectingAndThen (Collectors.toMap(p -> p(0), p -> p(1)), Collections::unmodifiableMap)); System.out.println('
capitals_Map values: ' + capitals_Map); //double brace initialization Map country_map = new HashMap(); country_map.put('USA', 'Washington'); country_map.put('UK', 'London'); country_map.put('IND', 'Delhi'); country_map.put('GER', 'Berlin'); System.out.println('
Map values:' + country_map); } }
Παραγωγή:
unmodifiableMap χάρτες τιμές: {}
singleton_map Τιμές χάρτη: {10 = TEN}
τιμές map_cities: {CH = Chennai, DL = Νέο Δελχί, MH = Βομβάη}
κεφαλαία_Αξίες χαρτών: {MAH = Βομβάη, GOA = Panaji, KAR = Bangaluru}
Τιμές χάρτη: {USA = Washington, GER = Berlin, UK = London, IND = Delhi}
Επαναλάβετε τον χάρτη σε Java και εκτυπώστε τον χάρτη
Μπορούμε να διασχίσουμε τον χάρτη με τον ίδιο τρόπο που διασχίζουμε τις άλλες συλλογές. Εκτός από τη διέλευση των καταχωρίσεων χάρτη, μπορούμε επίσης να διασχίσουμε μόνο τα κλειδιά ή μόνο τις τιμές στο χάρτη. Σημειώστε ότι για να διασχίσετε έναν χάρτη, πρέπει να μετατραπεί για να ορίσετε πρώτα.
Οι ακόλουθες μέθοδοι χρησιμοποιούνται για να διασχίσουν τις καταχωρήσεις χάρτη.
Χρησιμοποιώντας το Entry Iterator
Σε αυτήν τη μέθοδο, λαμβάνουμε έναν επαναληπτικό καταχώρησης από ένα σύνολο καταχώρησης. Στη συνέχεια, χρησιμοποιώντας τις μεθόδους getKey και getValue, ανακτούμε το ζεύγος κλειδιών-τιμών για κάθε καταχώριση χάρτη.
Το παρακάτω πρόγραμμα δείχνει τη χρήση ενός επαναληπτικού καταχώρησης.
import java.util.*; import java.util.stream.*; import java.util.stream.Collectors; public class Main { public static void main(String args()) { //use toMap method of collectors class to populate the map Map map_cities = Stream.of(new String()(){ {'MH', 'Mumbai'}, {'CH', 'Chennai'}, {'DL', 'New Delhi'} }).collect(Collectors.toMap(p -> p(0), p -> p(1))); //transform map to set Set entries = map_cities.entrySet(); //declare an iterator Iterator iterator = entries.iterator(); System.out.println('The map entries are:'); System.out.println(' KEY VALUE'); //iterate and print key and value pairs. while(iterator.hasNext()) { Map.Entry entry = iterator.next(); System.out.println(' ' + entry.getKey() + ' ' +entry.getValue()); } } }
Παραγωγή:
Οι καταχωρήσεις χάρτη είναι:
ΒΑΣΙΚΗ ΑΞΙΑ
CH Chennai
DL Νέο Δελχί
MH Βομβάη
Στο παραπάνω πρόγραμμα, λαμβάνουμε έναν επαναληπτικό καταχώρησης από το χάρτη χρησιμοποιώντας τη μέθοδο entrySet. Στη συνέχεια, διασχίζουμε τον χάρτη χρησιμοποιώντας τη μέθοδο hasNext () για την επανάληψη εισόδου και εκτυπώνουμε το ζεύγος κλειδιών-τιμών.
Χρησιμοποιώντας μια καταχώριση για κάθε βρόχο
Εδώ διασχίζουμε το entrySet χρησιμοποιώντας για κάθε βρόχο και η εφαρμογή φαίνεται παρακάτω.
import java.util.*; import java.util.stream.*; import java.util.stream.Collectors; public class Main { public static void main(String args()) { //use toMap method of collectors class to populate the map Map map_cities = Stream.of(new String()(){ {'MH', 'Mumbai'}, {'CH', 'Chennai'}, {'DL', 'New Delhi'} }).collect(Collectors.toMap(p -> p(0), p -> p(1))); System.out.println('The map entries are:'); System.out.println(' KEY VALUE'); //iterate using for each over entry set and print key and value pairs. for(Map.Entry entry : map_cities.entrySet()){ System.out.println(' ' + entry.getKey() + ' ' +entry.getValue()); } } }
Παραγωγή:
Οι καταχωρήσεις χάρτη είναι:
ΒΑΣΙΚΗ ΑΞΙΑ
CH Chennai
DL Νέο Δελχί
MH Βομβάη
Μέθοδοι χάρτη
Η διασύνδεση χαρτών στην Java υποστηρίζει διάφορες λειτουργίες παρόμοιες με αυτές που υποστηρίζονται από άλλες συλλογές. Σε αυτήν την ενότητα, θα συζητήσουμε τις διάφορες μεθόδους που παρέχονται από το Map API στην Java. Καθώς το πεδίο αυτού του σεμιναρίου περιορίζεται στην εισαγωγή μιας διεπαφής χάρτη γενικά, δεν θα περιγράψουμε αυτές τις μεθόδους.
Θα συζητήσουμε λεπτομερώς αυτές τις μεθόδους, ενώ συζητάμε τάξεις διεπαφής χάρτη.
Ο παρακάτω πίνακας παραθέτει όλες τις μεθόδους που παρέχονται από το API χάρτη.
Όνομα μεθόδου | Πρωτότυπο μεθόδου | Περιγραφή |
---|---|---|
παίρνω | V get (πλήκτρο αντικειμένου) | Επιστρέφει το αντικείμενο ή την τιμή για το δεδομένο κλειδί |
βάζω | V put (κλειδί αντικειμένου, τιμή αντικειμένου) | Εισαγωγή καταχώρησης κλειδιού-τιμής στο χάρτη |
βάλτε όλα | void putAll (χάρτης χάρτη) | Εισαγωγή δεδομένων καταχωρίσεων χάρτη στον χάρτη. Με άλλα λόγια αντίγραφα ή κλώνους ενός χάρτη. |
keySet | Ορισμός keySet () | Επιστρέφει την καθορισμένη προβολή του χάρτη. |
είσοδοςSet | Σειρά | Οι επιστροφές ορίζουν την προβολή για έναν δεδομένο χάρτη |
αξίες | Τιμές συλλογής () | Επιστρέφει την προβολή συλλογής των τιμών στον χάρτη. |
Μέγεθος | int μέγεθος () | Επιστρέφει τον αριθμό των καταχωρήσεων στο χάρτη |
Σαφή | κενό καθαρό () | Διαγράφει τον χάρτη |
είναι άδειο | boolean isEmpty () | Ελέγχει εάν ο χάρτης είναι κενός και επιστρέφει αληθής εάν ναι. |
περιέχει τιμή | boolean περιέχειValue (τιμή αντικειμένου) | Επιστρέφει true αν ο χάρτης περιέχει την τιμή ίση με τη δεδομένη τιμή |
περιέχει Κέι | boolean περιέχειKey (κλειδί αντικειμένου) | Επιστρέφει true εάν υπάρχει ένα δεδομένο κλειδί στο χάρτη |
ισούται | boolean ισούται με (αντικείμενο o) | Συγκρίνει το καθορισμένο αντικείμενο o με το χάρτη |
hashCode | int hashCode () | επιστρέφει τον κωδικό κατακερματισμού για το Χάρτη |
για κάθε | void forEach (δράση BiConsumer) | Εκτελεί συγκεκριμένη ενέργεια για κάθε καταχώριση στο χάρτη |
getOrDefault | V getOrDefault (Πλήκτρο αντικειμένου, V defaultValue) | Επιστρέφει την καθορισμένη τιμή για το δεδομένο κλειδί ή την προεπιλεγμένη τιμή του εάν το κλειδί δεν υπάρχει |
αφαιρώ | boolean remove (κλειδί αντικειμένου, τιμή αντικειμένου) | Καταργεί καθορισμένα κλειδιά και τιμές |
αντικαθιστώ | Αντικατάσταση V (πλήκτρο K, τιμή V) | Αντικαθιστά το δεδομένο κλειδί με την καθορισμένη τιμή |
αντικαθιστώ | boolean αντικατάσταση (πλήκτρο K, V oldValue, V newValue) | Αντικαθιστά την παλιά τιμή με μια νέα τιμή για ένα δεδομένο κλειδί |
αντικαταστήστε όλα | void ReplAll (λειτουργία BiFunction) | Επικαλείται δεδομένη συνάρτηση για αντικατάσταση όλων των καταχωρήσεων χάρτη |
putIfAbsent | V putIfAbsent (πλήκτρο K, τιμή V) | Εισάγει το δεδομένο κλειδί, τιμή μόνο εάν δεν υπάρχει ήδη |
υπολογίζω | Υπολογισμός V (πλήκτρο K, επαναλειτουργία δύο λειτουργιών) | Υπολογίζει τη χαρτογράφηση για καθορισμένο κλειδί και τιμή δεδομένης της λειτουργίας χαρτογράφησης. |
computeIfAbsent | V computeIfAbsent (πλήκτρο K, Λειτουργία χαρτογράφησης Λειτουργία) | Υπολογίστε την τιμή για το δεδομένο κλειδί χρησιμοποιώντας τη λειτουργία χαρτογράφησης, εάν δεν υπάρχει ήδη. |
computeIfPresent | V computeIfPresent (πλήκτρο K, επαναλειτουργία δύο λειτουργιών) | Υπολογίζει τη νέα αντιστοίχιση για το δεδομένο κλειδί με τη δεδομένη λειτουργία αντιστοίχησης εάν η τιμή κλειδιού υπάρχει ήδη |
πηγαίνω | V συγχώνευση (πλήκτρο K, τιμή V, επαναλειτουργία δύο λειτουργιών) | Συσχετίζει ένα δεδομένο κλειδί με την τιμή εάν δεν έχει ήδη συσχετιστεί ή σχετίζεται με την τιμή null. |
Όλες οι παραπάνω μέθοδοι υποστηρίζονται από τη διεπαφή χάρτη. Σημειώστε ότι οι μέθοδοι που εμφανίζονται σκιασμένες είναι οι νέες μέθοδοι που περιλαμβάνονται στο Java 8.
Εφαρμογή χάρτη Java
Το ακόλουθο πρόγραμμα εφαρμόζει ένα παράδειγμα χάρτη στην Java. Εδώ χρησιμοποιούμε τις περισσότερες από τις μεθόδους που συζητήθηκαν παραπάνω.
Το παράδειγμα δείχνει διάφορες λειτουργίες λήψης, τοποθέτησης και καθορισμού λειτουργιών.
import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; public class Main { public static void main(String() args) { //create a map Map country_map = new HashMap(); //assign values to the map country_map.put('IND', 'India'); country_map.put('SL', 'Srilanka'); country_map.put('CHN', 'China'); country_map.put('KOR', 'Korea'); country_map.put(null, 'Z'); // null key country_map.put('XX', null); // null value String value = country_map.get('CHN'); // get System.out.println('Key = CHN, Value : ' + value); value = country_map.getOrDefault('XX', 'Default Value'); //getOrDefault System.out.println('
Key = XX, Value : ' + value); boolean keyExists = country_map.containsKey(null); //containsKey boolean valueExists = country_map.containsValue('Z'); //containsValue System.out.println('
null keyExists : ' + keyExists + ', null valueExists= ' + valueExists); Set entrySet = country_map.entrySet(); //entrySet System.out.println('
entry set for the country_map: ' + entrySet); System.out.println('
Size of country_map : ' + country_map.size()); //size Map data_map = new HashMap(); data_map.putAll(country_map); //putAll System.out.println('
data_map mapped to country_map : ' + data_map); String nullKeyValue = data_map.remove(null); //remove System.out.println('
null key value for data_map : ' + nullKeyValue); System.out.println('
data_map after removing null key = ' + data_map); Set keySet = country_map.keySet(); //keySet System.out.println('
data map keys : ' + keySet); Collection values = country_map.values(); //values System.out.println('
data map values : ' + values); country_map.clear(); //clear System.out.println('
data map after clear operation, is empty :' + country_map.isEmpty()); } }
Παραγωγή:
Κλειδί = CHN, Τιμή: Κίνα
Κλειδί = XX, Τιμή: null
null keyExists: true, null valueExists = true
σύνολο καταχώρησης για το country_map: (null = Z, XX = null, CHN = China, SL = Srilanka, IND = India, KOR = Korea)
Μέγεθος χάρτη_ χώρας: 6
data_map αντιστοιχίζεται σε country_map: {null = Z, XX = null, CHN = China, SL = Srilanka, IND = India, KOR = Kore
προς την}
τιμή κλειδιού null για data_map: Z
data_map μετά την κατάργηση του null key = {XX = null, CHN = China, SL = Srilanka, IND = India, KOR = Korea}
κλειδιά χάρτη δεδομένων: (null, XX, CHN, SL, IND, KOR)
τιμές χάρτη δεδομένων: (Z, null, China, Srilanka, India, Korea)
ο χάρτης δεδομένων μετά από καθαρή λειτουργία, είναι άδειος: true
Ταξινόμηση χάρτη στην Ιάβα
Καθώς ένας χάρτης αποτελείται από ζεύγη τιμών-κλειδιών, μπορούμε να ταξινομήσουμε τον χάρτη σε κλειδιά ή τιμές.
Σε αυτήν την ενότητα, θα ταξινομήσουμε έναν χάρτη και στα δύο κλειδιά και τις τιμές.
Ταξινόμηση κατά κλειδί
Για να ταξινομήσετε έναν χάρτη στα πλήκτρα, μπορούμε να χρησιμοποιήσουμε έναν χάρτη πορείας. Ο χάρτης ταξινομεί τα κλειδιά αυτόματα. Το παρακάτω πρόγραμμα Java μετατρέπει έναν χάρτη σε χάρτη πορείας και εμφανίζει τα ταξινομημένα πλήκτρα.
import java.util.HashMap; import java.util.Map; import java.util.TreeMap; public class Main { public static void main(String() args) { //declare and initialize a map Map country_map = new HashMap(); country_map.put('I', 'India'); country_map.put('C', 'China'); country_map.put('A', 'America'); country_map.put('D', 'Denmark'); country_map.put('X', 'Hongkong'); //print original map System.out.println('Original Unsorted Map: '); display_map(country_map); System.out.println('
Map sorted by Key: '); //convert map to treemap and display it in which keys are auto sorted Map treecountry = new TreeMap(country_map); display_map(treecountry); } public static void display_map(Map map) { //obtain entry iterator and display key value pairs of map for (Map.Entry entry : map.entrySet()) { System.out.println(' ' + entry.getKey() + ' ' + entry.getValue()); } } }
Παραγωγή:
Αρχικός μη ταξινομημένος χάρτης:
Μια Αμερική
Γ Κίνα
Δ Δανία
Χ Χονγκ Κονγκ
Ινδία
Ο χάρτης ταξινομήθηκε κατά κλειδί:
Μια Αμερική
Γ Κίνα
Δ Δανία
Ινδία
Χ Χονγκ Κονγκ
Το παραπάνω πρόγραμμα δημιουργεί έναν χάρτη που αποτελείται από έναν κωδικό αλφαβήτου ως κλειδιά και ονόματα χωρών ως τιμές. Πρώτον, εμφανίζουμε τον αρχικό χάρτη που δεν είναι ταξινομημένος. Στη συνέχεια, μετατρέπουμε τον χάρτη σε χάρτη πορείας που ταξινομεί αυτόματα τα κλειδιά. Τέλος, εμφανίζουμε τον ταξινομημένο χάρτη πορείας στα πλήκτρα.
Ταξινόμηση κατά τιμή
Για να ταξινομήσετε έναν χάρτη με βάση τις τιμές, πρώτα μετατρέπουμε τον χάρτη σε λίστα. Στη συνέχεια, ταξινομούμε αυτήν τη λίστα χρησιμοποιώντας τη μέθοδο Collections.sort () που χρησιμοποιεί ένα συγκριτικό για να συγκρίνει τις τιμές και να τακτοποιήσει σε μια συγκεκριμένη σειρά.
Μόλις ταξινομηθεί η λίστα, οι συνδεδεμένες καταχωρίσεις λίστας αντιγράφονται ξανά στον χάρτη, ο οποίος μας δίνει τον ταξινομημένο χάρτη.
Το ακόλουθο πρόγραμμα Java δείχνει την ταξινόμηση ενός χάρτη με βάση την τιμή. Το πρόγραμμα χρησιμοποιεί LinkedHashMap που μεταβιβάζεται στη λειτουργία ταξινόμησης. Στη λειτουργία ταξινόμησης, μετατρέπεται σε συνδεδεμένη λίστα και ταξινομείται. Μετά την ταξινόμηση μετατρέπεται σε LinkedHashMap.
ποιος είναι ο καλύτερος διακομιστής email
import java.util.*; public class Main { public static void main(String() args) { //define and initialize a map LinkedHashMap capitals_map = new LinkedHashMap(); capitals_map.put('NEP', 'Kathmandu'); capitals_map.put('IND', 'New Delhi'); capitals_map.put('USA', 'Washington'); capitals_map.put('UK', 'London'); capitals_map.put('AUS', 'Canberra'); //print original map System.out.println('Original unsorted map: '); System.out.println(capitals_map); //call sortMap method Map sorted_Map = sortMap(capitals_map); //print the sorted map System.out.println('
Map sorted on value : '); System.out.println(' Key Value '); for (Map.Entry entry : sorted_Map.entrySet()) { System.out.println(' ' + entry.getKey()+ ' ' + entry.getValue()); } } public static LinkedHashMap sortMap(LinkedHashMap linked_map) { //create a linkedlist from LinkedHashMap List capital_List = new LinkedList(linked_map.entrySet()); //sort the LinkedList Collections.sort(capital_List, (o1, o2) -> o1.getValue().compareTo(o2.getValue())); //Create LinkedHashMap from linkedlist and return it LinkedHashMap finalMap = new LinkedHashMap(); for (Map.Entry entry : capital_List) { finalMap.put(entry.getKey(), entry.getValue()); } return finalMap; } }
Παραγωγή:
Αρχικός μη ταξινομημένος χάρτης:
{NEP = Κατμαντού, IND = Νέο Δελχί, ΗΠΑ = Ουάσιγκτον, Ηνωμένο Βασίλειο = Λονδίνο, AUS = Καμπέρα
Ο χάρτης ταξινομήθηκε στην τιμή:
Βασική τιμή
ΑΠΟ Καμπέρα
ΝΕΠ Κατμαντού
Ηνωμένο Βασίλειο Λονδίνο
IND Νέο Δελχί
ΗΠΑ Ουάσιγκτον
Ταυτόχρονος χάρτης στην Ιάβα
Το concurrentMap είναι μια διεπαφή που κληρονομείται από τη διεπαφή java.util.map. Η διεπαφή concurrentMap παρουσιάστηκε για πρώτη φορά στο JDK 1.5 και παρέχει έναν χάρτη που χειρίζεται την ταυτόχρονη πρόσβαση.
Η διεπαφή concurrentMap είναι μέρος του πακέτου java.util.concurrent.
Το ακόλουθο πρόγραμμα Java δείχνει το ταυτόχρονοMap στην Java.
import java.util.concurrent.*; class Main { public static void main(String() args) { //create and initialize concurrentHashMap ConcurrentHashMap m = new ConcurrentHashMap(); m.put(100, 'Red'); m.put(101, 'Green'); m.put(102, 'Blue'); System.out.println('
Initial Concurrent Map : ' + m); //add a key using putIfAbsent method; key=103 is absent so its added m.putIfAbsent(103, 'Purple'); System.out.println('
After adding absent key 103 : ' + m); m.remove(101, 'Green'); // remove key = 101 System.out.println('
Concurrent Map after removing 101:' + m); m.putIfAbsent(101, 'Brown'); // again add key = 101 since its absent System.out.println('
Add absent key 101:' + m); m.replace(101, 'Brown', 'Green'); // replace value for key = 101 with 'Green' System.out.println('
Replace value at key 101:' + m); } } import java.util.concurrent.*; class Main { public static void main(String() args) { //create and initialize concurrentHashMap ConcurrentHashMap m = new ConcurrentHashMap(); m.put(100, 'Red'); m.put(101, 'Green'); m.put(102, 'Blue'); System.out.println('
Initial Concurrent Map : ' + m); //add a key using putIfAbsent method; key=103 is absent so its added m.putIfAbsent(103, 'Purple'); System.out.println('
After adding absent key 103 : ' + m); m.remove(101, 'Green'); // remove key = 101 System.out.println('
Concurrent Map after removing 101:' + m); m.putIfAbsent(101, 'Brown'); // again add key = 101 since its absent System.out.println('
Add absent key 101:' + m); m.replace(101, 'Brown', 'Green'); // replace value for key = 101 with 'Green' System.out.println('
Replace value at key 101:' + m); } }
Παραγωγή:
Αρχικός ταυτόχρονος χάρτης: {100 = Κόκκινο, 101 = Πράσινο, 102 = Μπλε}
Μετά την προσθήκη απουσίας πλήκτρου 103: {100 = Κόκκινο, 101 = Πράσινο, 102 = Μπλε, 103 = Μωβ}
Ταυτόχρονος χάρτης μετά την κατάργηση 101: {100 = Κόκκινο, 102 = Μπλε, 103 = Μωβ}
Προσθήκη κλειδιού απουσίας 101: {100 = Κόκκινο, 101 = Καφέ, 102 = Μπλε, 103 = Μωβ}
Αντικαταστήστε την τιμή στο κλειδί 101: {100 = Κόκκινο, 101 = Πράσινο, 102 = Μπλε, 103 = Μωβ}
Συγχρονισμένος χάρτης στην Ιάβα
Ένας συγχρονισμένος χάρτης είναι ένας χάρτης που είναι ασφαλής για νήματα και υποστηρίζεται από έναν δεδομένο χάρτη. Στην Java, ο συγχρονισμένος χάρτης λαμβάνεται χρησιμοποιώντας τη μέθοδο synchronizedMap () της κλάσης java.util.Collections. Αυτή η μέθοδος επιστρέφει έναν συγχρονισμένο χάρτη για έναν δεδομένο χάρτη.
Αυτός ο επιστρεφόμενος συγχρονισμένος χάρτης χρησιμοποιείται για πρόσβαση στον χάρτη υποστήριξης για επίτευξη σειριακής πρόσβασης.
κωδικός ταξινόμησης φυσαλίδων c ++
Η γενική δήλωση της μεθόδου SynchronizedMap () είναι:
public static Map synchronizedMap(Map m)
όπου m => είναι ο υποστηριζόμενος χάρτης.
Όπως ήδη αναφέρθηκε, αυτή η μέθοδος επιστρέφει τη συγχρονισμένη προβολή του χάρτη m.
Το παρακάτω πρόγραμμα Java είναι ένα παράδειγμα συγχρονισμένου χάρτη.
import java.util.*; public class Main { public static void main(String() args) { //declare and initialize a map Map int_map = new HashMap(); int_map.put(1, 10); int_map.put(2, 20); int_map.put(3, 30); int_map.put(4, 40); int_map.put(5, 50); //print the map System.out.println('Original (backed) Map: ' + int_map); //obtain synchronized map Map sync_map = Collections.synchronizedMap(int_map); //remove an element from the map int_map.remove(3, 30); //print the altered map System.out.println('
Synchronized map after remove(3, 30):' + sync_map); } }
Παραγωγή:
Αρχικός (υποστηριζόμενος) χάρτης: {1 = 10, 2 = 20, 3 = 30, 4 = 40, 5 = 50}
Συγχρονισμένος χάρτης μετά την κατάργηση (3, 30): {1 = 10, 2 = 20, 4 = 40, 5 = 50}
Στατικός χάρτης στην Ιάβα
Ένας στατικός χάρτης στην Java είναι ένας χάρτης που δηλώνεται στατικός όπως και μια στατική μεταβλητή. Με την κήρυξη ενός στατικού χάρτη, γίνεται μια προσβάσιμη μεταβλητή κλάσης χωρίς τη χρήση του αντικειμένου.
Υπάρχουν δύο προσεγγίσεις για τη δημιουργία και την προετοιμασία ενός στατικού χάρτη στην Java.
# 1) Χρησιμοποιώντας μια στατική μεταβλητή
Εδώ, δημιουργούμε μια στατική μεταβλητή χάρτη και την εγκαθιστούμε μαζί με τη δήλωση.
Αυτή η προσέγγιση παρουσιάζεται στο ακόλουθο πρόγραμμα Java.
import java.util.*; class Main { //declare a static map variable and initialize it with declaration private static final Map myMap = new HashMap(){ { put(1, 'India'); put(2, 'Portugal'); put(3, 'Germany'); } }; public static void main(String() args) { //print the map System.out.println('Static map using static map variable:'); System.out.println(myMap); } }
Παραγωγή:
Στατικός χάρτης χρησιμοποιώντας στατική χάρτη μεταβλητή:
{1 = Ινδία, 2 = Πορτογαλία, 3 = Γερμανία}
# 2) Χρήση στατικού μπλοκ
Σε αυτό, δημιουργούμε μια μεταβλητή στατικού χάρτη. Στη συνέχεια, δημιουργούμε ένα στατικό μπλοκ και μέσα σε αυτό το στατικό μπλοκ, αρχικοποιούμε τη μεταβλητή χάρτη.
Το παρακάτω πρόγραμμα το αποδεικνύει.
import java.util.*; class Main { // Declare the static map private static Map map; // declare a static block and initialize static map static { map = new HashMap(); map.put(1, 'Red'); map.put(2, 'Green'); map.put(3, 'Blue'); } public static void main(String() args) { System.out.println('Static Map using static block:'); System.out.println(map); } }
Παραγωγή:
Στατικός χάρτης χρησιμοποιώντας στατικό μπλοκ:
{1 = Κόκκινο, 2 = Πράσινο, 3 = Μπλε}
Μετατροπή της λίστας σε χάρτη
Σε αυτήν την ενότητα, θα συζητήσουμε τις μεθόδους μετατροπής της λίστας σε χάρτη.
Οι δύο μέθοδοι περιλαμβάνουν:
Παραδοσιακή μέθοδος
Στην παραδοσιακή μέθοδο, κάθε στοιχείο λίστας αντιγράφεται στο χάρτη χρησιμοποιώντας ένα για κάθε βρόχο.
Αυτή η εφαρμογή φαίνεται παρακάτω:
import java.util.*; public class Main { public static void main(String() args) { //declare and initialize a list List colorsList = new ArrayList(); colorsList.add('Red'); colorsList.add('Green'); colorsList.add('Blue'); colorsList.add('Brown'); colorsList.add('White'); System.out.println('The given list: ' + colorsList); //declare a map Map map = new HashMap(); //initial Id(key) int i=1; //assign each list element to the map for (String color : colorsList) { map.put(i, color); i++; } //print the map System.out.println('Map generated from List:' + map); } }
Παραγωγή:
Η συγκεκριμένη λίστα: (Κόκκινο, Πράσινο, Μπλε, Καφέ, Λευκό)
Χάρτης που δημιουργήθηκε από τη Λίστα: {1 = Κόκκινο, 2 = Πράσινο, 3 = Μπλε, 4 = Καφέ, 5 = Λευκό}
Λίστα για χαρτογράφηση στην Java 8
Μπορούμε επίσης να χρησιμοποιήσουμε τη μέθοδο Java 8 Collectors.mapOf () που θα μετατρέψει τη δεδομένη λίστα σε χάρτη.
Το παρακάτω πρόγραμμα το αποδεικνύει.
import java.util.ArrayList; import java.util.LinkedHashMap; import java.util.List; import java.util.stream.Collectors; // class for list class Subject { //sub_id => map key private Integer sub_id; // sub_name => map value private String sub_name; // Subject constructor public Subject(Integer sub_id, String sub_name) { // initialize sub_id and sub_name this.sub_id = sub_id; this.sub_name = sub_name; } // return sub_id public Integer getSub_Id() { return sub_id; } // return sub_name public String getSub_Name() { return sub_name; } } public class Main { public static void main(String() args) { // create a list and add values to the list List sub_list = new ArrayList(); sub_list.add(new Subject(1, 'Abacus')); sub_list.add(new Subject(2, 'Maths')); sub_list.add(new Subject(3, 'Physics')); sub_list.add(new Subject(3, 'Chemistry')); //use Java 8 Collectors.toMap() method to create a map and assign list elements to it LinkedHashMap sub_map = sub_list.stream() .collect( Collectors.toMap(Subject::getSub_Id, Subject::getSub_Name,(x, y) -> x + ', ' + y, LinkedHashMap::new)); //print the map System.out.println('Map obtained from list : ' + sub_map); } }
Παραγωγή:
Χάρτης που ελήφθη από τη λίστα: {1 = Άβακας, 2 = Μαθηματικά, 3 = Φυσική, Χημεία}
Σε αυτό το πρόγραμμα, έχουμε ένα Θέμα κατηγορίας που λειτουργεί ως τάξη λίστας. Το Θέμα της κατηγορίας έχει δύο πεδία, δηλαδή sub_id και sub_name. Έχουμε μεθόδους για να διαβάσουμε τις τιμές πεδίου από την τάξη. Στην κύρια συνάρτηση, δημιουργούμε αντικείμενα αυτής της κλάσης και κατασκευάζουμε μια λίστα.
Αυτή η λίστα μετατρέπεται στη συνέχεια στον χάρτη χρησιμοποιώντας τη μέθοδο Collectors.MapOf που παίρνει τα στοιχεία ένα προς ένα. Παίρνει επίσης το sub_Id ως κλειδί για το χάρτη. Τέλος, δημιουργείται ο χάρτης που έχει sub_Id ως κλειδί και Sub_Name ως τιμή.
Μετατροπή χάρτη σε συμβολοσειρά σε Java
Μια συλλογή χαρτών μπορεί να μετατραπεί σε συμβολοσειρά χρησιμοποιώντας δύο προσεγγίσεις:
Χρησιμοποιώντας το StringBuilder
Εδώ δημιουργούμε ένα αντικείμενο StringBuilder και στη συνέχεια αντιγράφουμε τα ζεύγη τιμών-κλειδιών του χάρτη στο αντικείμενο StringBuilder. Στη συνέχεια μετατρέπουμε το αντικείμενο StringBuilder σε συμβολοσειρά.
Το παρακάτω πρόγραμμα δείχνει τον κώδικα Java για τη μετατροπή του χάρτη στη συμβολοσειρά.
import java.util.*; import java.util.stream.Collectors; public class Main { public static void main(String() args) { //create and initialize a map Map numberNames = new HashMap(); numberNames.put(10, 'Ten'); numberNames.put(20, 'Twenty'); numberNames.put(30, 'Thirty'); numberNames.put(40, 'Forty'); //print the given map System.out.println('The given map: ' + numberNames); //create a StringBuilder object to store string StringBuilder map_String = new StringBuilder('{'); //append key-value pair of map to StringBuilder object for (Integer key : numberNames.keySet()) { map_String.append(key + '=' + numberNames.get(key) + ', '); } map_String.delete(map_String.length()-2, map_String.length()).append('}'); //print the string from StringBuilder System.out.println('
The string representation of map:'); System.out.println(map_String.toString()); } }
Παραγωγή:
Ο δεδομένος χάρτης: {20 = Είκοσι, 40 = Σαράντα, 10 = Δέκα, 30 = τριάντα}
Η παράσταση συμβολοσειράς του χάρτη:
{20 = Είκοσι, 40 = Σαράντα, 10 = Δέκα, 30 = τριάντα}
Χρήση Java 8 Streams
Σε αυτήν τη μέθοδο, δημιουργούμε μια ροή από τα κλειδιά του χάρτη και στη συνέχεια τη μετατρέπουμε στη συμβολοσειρά.
Το πρόγραμμα που δίνεται παρακάτω δείχνει τη μετατροπή του χάρτη σε συμβολοσειρά χρησιμοποιώντας ροές.
import java.util.*; import java.util.stream.Collectors; public class Main{ public static void main(String() args) { //create and initialize a map Map numberNames = new HashMap(); numberNames.put(10, 'Ten'); numberNames.put(20, 'Twenty'); numberNames.put(30, 'Thirty'); numberNames.put(40, 'Forty'); //print the given map System.out.println('The given map: ' + numberNames); String map_String = numberNames.keySet().stream() .map(key -> key + '=' + numberNames.get(key)) .collect(Collectors.joining(', ', '{', '}')); //print the string System.out.println('
The string representation of map:'); System.out.println(map_String); } }
Παραγωγή:
Ο δεδομένος χάρτης: {20 = Είκοσι, 40 = Σαράντα, 10 = Δέκα, 30 = τριάντα}
Η παράσταση συμβολοσειράς του χάρτη:
{20 = Είκοσι, 40 = Σαράντα, 10 = Δέκα, 30 = τριάντα}
Μετατροπή χάρτη σε λίστα σε Java
Ένας χάρτης αποτελείται από κλειδιά και τιμές, ενώ μια λίστα είναι μια ακολουθία μεμονωμένων στοιχείων. Κατά τη μετατροπή του χάρτη σε λίστα, συνήθως μετατρέπουμε τα κλειδιά σε μια λίστα κλειδιών και τιμών σε μια λίστα τιμών.
Το ακόλουθο πρόγραμμα Java δείχνει αυτήν τη μετατροπή.
import java.util.*; public class Main { public static void main(String() args) { //declare a map and initialize it Map color_map = new HashMap(); color_map.put(10, 'red'); color_map.put(20, 'green'); color_map.put(30, 'blue'); color_map.put(40, 'cyan'); color_map.put(50, 'magenta'); //print the list of keys using map.keySet() method System.out.println('List of keys from the given map:'); List key_list = new ArrayList(color_map.keySet()); System.out.println(key_list); //print the list of values using map.values() method System.out.println('
List of values from the given map:'); List val_list = new ArrayList(color_map.values()); System.out.println(val_list); } }
Παραγωγή:
Λίστα κλειδιών από τον δεδομένο χάρτη:
(50, 20, 40, 10, 30)
Λίστα τιμών από τον δεδομένο χάρτη:
(ματζέντα, πράσινο, κυανό, κόκκινο, μπλε)
Λεξικό Vs. Χάρτης στην Ιάβα
Ας συζητήσουμε μερικές από τις σημαντικές διαφορές μεταξύ ενός λεξικού και ενός χάρτη στην Java.
Λεξικό | Χάρτης |
---|---|
Το λεξικό είναι μια αφηρημένη τάξη. | Ο χάρτης είναι μια διεπαφή. |
Τάξεις και μέθοδοι που χρησιμοποιούνται από το πλαίσιο συλλογών προγενέστερων κατηγοριών λεξικών. | Τα μαθήματα και οι μέθοδοι που χρησιμοποιούνται από τις κατηγορίες χαρτών αποτελούν μέρος του πλαισίου συλλογής. |
Εάν μια τάξη επεκτείνει το λεξικό, δεν μπορεί να επεκτείνει οποιαδήποτε άλλη κλάση, καθώς η Java υποστηρίζει μόνο μία κληρονομιά | Ο χάρτης είναι μια διεπαφή, οπότε μια τάξη μπορεί να κληρονομήσει από τον χάρτη και άλλες διεπαφές |
Παλιά εφαρμογή. Σχεδόν ξεπερασμένο σε νεότερες εκδόσεις της Java. | Η διεπαφή χάρτη αντικατέστησε την εφαρμογή λεξικού. |
Συχνές Ερωτήσεις
Ε # 1) Γιατί χρησιμοποιούμε μια διεπαφή χάρτη στην Java;
Απάντηση: Ο χάρτης είναι μια διεπαφή στην Java που εφαρμόζεται από τάξεις που αποθηκεύουν δεδομένα ως ζεύγη κλειδιών-τιμών. Η διασύνδεση χάρτη παρέχει λειτουργίες / μεθόδους που μπορούν να εκτελεστούν σε ζεύγη κλειδιού-τιμής όπως εισαγωγή, ενημέρωση, διαγραφή κ.λπ.
Ε # 2)Τι σημαίνει το MAP στην Java;
Απάντηση: Ένας χάρτης στην Java αντιπροσωπεύει τη χαρτογράφηση ενός κλειδιού με μια συγκεκριμένη τιμή. Ένας χάρτης Java αποθηκεύει αυτά τα ζεύγη τιμών-κλειδιών σε έναν χάρτη. Μπορούμε να αναζητήσουμε και να ανακτήσουμε την τιμή που σχετίζεται με ένα κλειδί μόνο χρησιμοποιώντας το κλειδί στον χάρτη.
Ένας χάρτης εφαρμόζεται σε Java χρησιμοποιώντας μια διεπαφή που δεν είναι μέρος της διεπαφής συλλογής. Αλλά ο χάρτης είναι μια συλλογή.
Q # 3)Τι παίρνει το MAP;
Απάντηση: Το get () είναι μια μέθοδος που παρέχεται από μια διεπαφή χάρτη στην Java που χρησιμοποιείται για την ανάκτηση της τιμής που σχετίζεται με ένα συγκεκριμένο κλειδί που παρέχεται ως επιχείρημα στη μέθοδο get (). Εάν η τιμή δεν είναι παρούσα, επιστρέφεται μια τιμή null.
Q # 4)Είναι ο χάρτης συλλογή;
Απάντηση: Παρόλο που ο χάρτης αντιμετωπίζεται γενικά ως συλλογή, δεν εφαρμόζει μια διεπαφή συλλογής. Μερικές από τις υλοποιήσεις του χάρτη, όπως το treemap δεν υποστηρίζουν μηδενικές τιμές ή κλειδιά.
Q # 5)Ποια είναι η διαφορά μεταξύ του συνόλου και του χάρτη;
Απάντηση: Το σετ είναι μια συλλογή κλειδιών μόνο ενώ ο χάρτης είναι μια συλλογή ζευγών κλειδιών-τιμών. Ενώ το σύνολο δεν επιτρέπει τιμές null, ορισμένες από τις εφαρμογές του χάρτη επιτρέπουν null τιμές.
Το σετ δεν επιτρέπει διπλά πλήκτρα. Ο χάρτης μπορεί να επιτρέπει διπλές τιμές, αλλά τα κλειδιά πρέπει να είναι μοναδικά. Το σετ χρησιμοποιείται συνήθως όταν θέλουμε να αποθηκεύσουμε μια συλλογή μοναδικών στοιχείων. Ο χάρτης μπορεί να χρησιμοποιηθεί όταν χρειαστεί να αποθηκεύσουμε δεδομένα με τη μορφή ζευγών κλειδιών-τιμών.
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε συζητήσει τα βασικά στοιχεία της διεπαφής χάρτη. Έχουμε επίσης δει τις διάφορες μεθόδους και όλες τις άλλες λεπτομέρειες που σχετίζονται με τη διεπαφή χαρτών στην Java. Γνωρίσαμε ότι υπάρχουν διάφορες υλοποιήσεις διεπαφών χάρτη, όπως treemap, hashmap κ.λπ.
Στα επερχόμενα σεμινάρια μας, θα συζητήσουμε αυτήν την εφαρμογή χαρτών με περισσότερες λεπτομέρειες.
=> Επισκεφθείτε εδώ για να μάθετε Java από το μηδέν.
Συνιστώμενη ανάγνωση
- Τι είναι το HashMap στην Java;
- TreeMap In Java - Tutorial with Java TreeMap Παραδείγματα
- LinkedHashMap In Java - LinkedHashMap Παράδειγμα & υλοποίηση
- Ορισμός διεπαφής σε Java: Java Set Tutorial με παραδείγματα
- Εκπαιδευτικό πρόγραμμα JAVA για αρχάριους: 100+ πρακτικά εκπαιδευτικά βίντεο Java
- Java Stack Tutorial: Εφαρμογή κλάσης στοίβας με παραδείγματα
- Εκμάθηση Java Reflection με παραδείγματα
- Jagged Array In Java - Εκμάθηση με παραδείγματα