This is an old revision of the document!
Ένα αντικείμενο τύπου Map.Entry αντιστοιχεί “τιμές” σε “κλειδιά”. Τόσο οι τιμές όσο και τα κλειδιά μπορεί να είναι οποιουδήποτε τύπου. Ο στόχος της συγκεκριμένης δομής είναι να μπορούμε έχοντας το κλειδί να λάβουμε την τιμή που αντιστοιχεί σε αυτό. Οι μέθοδοι του interface Map.Entry δίνονται στον παρακάτω πίνακα.
Μία δομή τύπου Map είναι μία δομή που περιέχει εγγραφές τύπου Map.Entry με την ιδιαιτερότητα ότι δεν μπορεί να διαθέτει δύο εγγραφές με το ίδιο κλειδί (μπορεί όμως να διαθέτει δύο εγγραφές με διαφορετικά κλειδιά, αλλά ίδιες τιμές).
Η java διατηρεί τρεις βασικές κλάσεις που υλοποιούν το Map interface, HashMap, TreeMap και LinkedHashMap.
Βασικές υλοποιήσεις του Map interface είναι οι παρακάτω:
Διαθέτει τις εξής μεθόδους που δεν διατίθενται στο interface Collection ή έχουν διαφορετική λειτουργία από τα interfaces που είδαμε μέχρι τώρα.
import java.util.*; public class StudentMap { public static void printMapEntries(Map<Integer,Student> map) { Set<Map.Entry<Integer,Student>> set = map.entrySet(); Iterator<Map.Entry<Integer,Student>> it = set.iterator(); while(it.hasNext()) { Map.Entry<Integer,Student> entry = it.next(); System.out.println(entry.getKey() + " -> "+ entry.getValue() ); } } public static void printMapValues(Map<Integer,Student> map) { Collection<Student> coll = map.values(); Iterator<Student> it = coll.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } public static void printMapKeys(Map<Integer,Student> map) { Set<Integer> set = map.keySet(); Iterator<Integer> it = set.iterator(); while(it.hasNext()) { System.out.println(it.next().toString()); } } public static void main(String args[]) { Map<Integer,Student> students = new HashMap<>(); students.put(1, new Student("John", "Smith")); students.put(2, new Student("Stanley", "Peters")); students.put(3, new Student("Edgar", "Bloch")); students.put(4, new Student("Suzan", "Miles")); students.put(5, new Student("Mary", "Poppins")); System.out.println("\nMap keys are:"); printMapKeys(students); System.out.println("\nMap values are:"); printMapValues(students); System.out.println("\nMap key-value pairs are:"); printMapEntries(students); } }
| Προηγούμενο: Interface java.util.List | Περιεχόμενα | Επόμενο: Sorting |