Map є частиною Java Collections Framework (docs.oracle.com).
- Map зберігає як ключі, так і приєднані до них дані, на відміну від Set, який зберігає тільки дані;
- не містить дублікати ключів;
- ключ може вказувати тільки на один єдиний відподний йому набір даних (набір даних -> клас);
- залежно від імплементації, Map може або не може містити null;
- Map - це інтерфейс, конкретні його реалізації в Java SDK: HashMap, TreeMap, LinkedHashMap, а також інші;
- Інтерефйс містить декілька методів, які не є обовязковими для імплементування (optional operation);
- методи доступу до даних:
Value get(Object ключ) - повертає дані, на які вказує цей ключ;
- АБО null якщо Map не містить даного ключа;
- АЛЕ, увага, якщо імплементація дозволяє nulls, то результат null ще не значить, що ключа немає в Map. В такому випадку перевірити наявність ключа можна методом containsKey ;
Value put(Key ключ, Value дані) - якщо раніше цього ключа не було в Map - зберігає ключ та дані в Map і повертає null;
- якщо ключ вже знаходиться в Map - знищує старі дані і записує нові, повертаючи значення старих даних;
- АЛЕ, увага, якщо імплементація дозволяє nulls, то результат null ще не значить, що ключа не існувало в Map. Це може також значити, що ключ існував і його дані мали значення null.
Value remove(Object ключ) - якщо ключ вже знаходиться в Map - знищує значення ключа та відповідні йому дані, повертаючи значення даних;
- якщо цього ключа не було в Map - нічого не виконує і повертає null;
- АЛЕ, увага, якщо імплементація дозволяє nulls, то результат null ще не значить, що ключа не існувало в Map. Це може також значити, що ключ існував і його дані мали значення null.