Интерфейс карты не является подтипом интерфейса коллекции. Поэтому он ведет себя немного иначе, чем остальные типы коллекций.
В моей предыдущей статье мы обсуждали списки, очереди и наборы Java в интерфейсе коллекции Java. Если вы не знакомы со списками, очередями и наборами. Давайте погрузимся в интерфейс карты Java.
Что такое интерфейс карты Java?
Интерфейс карты присутствует в пакете java.util
и представляет собой сопоставление между ключом и значением. Интерфейс карты не является подтипом Интерфейса коллекции. Поэтому он ведет себя немного иначе, чем остальные типы коллекций.
Карта - это объект, который сопоставляет ключи со значениями. Карта не может содержать повторяющиеся ключи: каждый ключ может соответствовать не более чем одному значению. Он моделирует абстракцию математической функции. Карта интерфейса включает методы для основных операций (таких как
put
,get
,remove
,containsKey
,containsValue
,size
иempty
).
Map<Key, Value> numbers = new HashMap<>(); Map<Key, Value> numbers = new LinkedHashMap<>(); Map<Key, Value> numbers = new TreeMap<>();
Иерархия интерфейса карты
Свойства интерфейса карты
- Имея ключ и значение, мы можем сохранить значение в объекте Map. После того, как значение сохранено, вы можете получить его, используя его ключ.
- Некоторые методы выдают
NoSuchElementException
, когда в вызывающей карте нет элементов. ClassCastException
выдается, когда объект несовместим с элементами на карте.NullPointerException
выдается, если делается попытка использовать нулевой объект, а значение null не допускается на карте.UnsupportedOperationException
выдается при попытке изменить неизменяемую карту.
1. HashMap
Класс Java HashMap реализует интерфейс Map, который позволяет нам хранить пары ключ и значение, где ключи должны быть уникальными. Если вы попытаетесь вставить повторяющийся ключ, он заменит элемент соответствующего ключа.
HashMap<Key,Value> map1= new HashMap<>();
Основные факты о Java Hash Map
- Содержит значения на основе ключа.
- Содержит только уникальные ключи.
- Он может иметь один нулевой ключ и несколько нулевых значений.
- Он не поддерживает порядок.
Давайте рассмотрим следующий пример, чтобы получить четкое представление о Hash Maps.
2. LinkedHashMap
Класс Java LinkedHashMap представляет собой реализацию Hashtable и Linked list интерфейса Map с предсказуемым порядком итераций. Он наследует класс HashMap и реализует интерфейс Map.
LinkedHashMap<Key,Value> map1= new LinkedHashMap<>();
Основные факты о Java LinkedHash Map
- Содержит значения на основе ключа.
- Содержит уникальные элементы.
- Он может иметь один нулевой ключ и несколько нулевых значений.
- Сохраняет порядок размещения.
Давайте рассмотрим следующий пример, чтобы получить четкое представление о LinkedHash Maps.
TreeMap
Класс Java TreeMap представляет собой красно-черную древовидную реализацию. Он реализует интерфейс NavigableMap и расширяет класс AbstractMap. Он обеспечивает эффективные средства хранения пар ключ-значение в отсортированном порядке.
TreeMap<Key,Value> map1= new TreeMap<>();
Основные факты о Java TreeMap
- Содержит значения на основе ключа.
- Содержит только уникальные элементы.
- У него не может быть нулевого ключа, но может быть несколько нулевых значений.
- Сохраняет порядок возрастания.
Давайте рассмотрим следующий пример, чтобы получить четкое представление о TreeMaps.
Заключение
В конце этой статьи мы изучили основные концепции интерфейса карты Java. Кроме того, мы исследовали преимущества интерфейса карты в Java. Надеюсь, эта статья поможет вам понять эти концепции. В ближайшее время встретимся с еще одной интересной статьей.
Спасибо!
Удачного обучения 🙌😊
использованная литература
Интерфейс карты в Java - GeeksforGeeks. Https://www.geeksforgeeks.org/map-interface-java-examples/
Java - Интерфейс карты - Учебное пособие. Https://www.tutorialspoint.com/java/java_map_interface.htm
HashMap в Java - как это работает? Https://javarevisited.blogspot.com/2011/02/how-hashmap-works-in-java.html
TreeMap в Java - javatpoint. Https://www.javatpoint.com/java-treemap