Zpo-2-wyk-Slajd19
Map: specyfikacja
Mapa przechowuje nie pojedyncze elementy, ale pary klucz-wartość. Pary te pozwalają na jednoznaczne odwzorowanie klucza na wartość, tzn. dla każdego klucza istnieje co najwyżej jedna odpowiadająca mu wartość. W ten sposób mapa nie jest bezpośrednio związana z interfejsem Collection, jednak pozwala na dostęp do swoich składowych traktowanych właśnie jako instancje tego interfejsu. Istnieją trzy widoki, udostępniające zbiór kluczy (keySet ()), kolekcję wartości (values ()) i zbiór par klucz-wartość (entrySet ()). Zatem każdą mapę można – w razie potrzeby – traktować jak zwykłą kolekcję.
Mapy z założenia nie gwarantują określonej kolejności elementów w żadnym z tych widoków, choć mogą zapewnić to implementacje.
Analogicznie, jak w przypadku kolekcji, mapy posiadają dwa konwencjonalne konstruktory: bezparametrowy i kopiujący; w przypadku tego drugiego parametrem jest inna mapa.
JDK zawiera trzy implementacje map: HashMap, TreeMap i SortedMap. Ta ostatnia mapa dodatkowo właśnie zapewnia porządek wśród przechowywanych w mapie par klucz-wartość.