Ключевая разница - HashMap против TreeMap
В программировании существуют различные механизмы сбора данных. Коллекции - это один из способов хранения данных. Языки программирования, такие как Java, используют коллекции. Это фреймворк с классами и интерфейсами для хранения набора элементов данных и управления ими. В обычном массиве хранится фиксированное количество элементов. Это ограничение массивов. Вместо этого программист может использовать коллекции. С помощью коллекций можно выполнять такие операции, как вставка, удаление, сортировка и поиск. В Java интерфейс Map принадлежит коллекциям. Карта используется для представления данных в парах ключ-значение. Есть только уникальные ключи, и каждый имеет соответствующее значение. HashMap и TreeMap - это классы, реализующие интерфейс карты. HashMap - это класс коллекции на основе карты, который используется для хранения пар ключ-значение, которые не поддерживают определенный порядок в элементах данных. TreeMap - это класс коллекции на основе карты, который используется для хранения пар ключ-значение, поддерживающих восходящий порядок элементов данных. Ключевое различие между HashMap и TreeMap заключается в том, что HashMap не поддерживает определенный порядок элементов данных, в то время как TreeMap поддерживает восходящий порядок элементов данных.
Что такое HashMap?
HashMap - это класс, реализующий интерфейс карты. Он расширяет класс AbstractMap и реализует интерфейс Map. HashMap содержит пары ключ-значение. Каждый элемент уникален. Элементы в HashMap легко найти по ключу. Объявление HashMap выглядит следующим образом.
общедоступный класс HashMap расширяет AbstractMap, реализует Map, Cloneable, Serializable
K относится к ключу, а V относится к значению, соответствующему этому конкретному ключу. Каждая пара ключ-значение является записью HashMap.
Рисунок 01: Интерфейс карты
Представьте следующий сценарий, чтобы понять HaspMap. Если программист хочет сохранить набор имен учеников и соответствующих порядковых номеров, он может использовать HashMap. Имена учащихся используются для поиска порядковых номеров. Таким образом, имена учащихся являются ключами, а порядковые номера - значениями.
Рисунок 02: Программа HashMap с использованием Java
Согласно приведенной выше программе создается объект HashMap. Затем программист может добавлять элементы, используя этот объект. Значения могут быть вставлены с помощью метода put. Чтобы получить значения, программист должен использовать метод get с ключом. При использовании studentList.get("150"); он напечатает соответствующее имя для этого индекса, который является Ann. Если программист хочет получить все значения, он может использовать Map. Entry для вывода всех ключей и значений. При наблюдении за выводом видно, что HashMap не поддерживает определенный порядок. Он не печатает элементы в порядке вставки. Элементы печатаются в случайном порядке.
Что такое TreeMap?
TreeMap - это класс в Java, который реализует интерфейс Map. Подобно HashMap, он также используется для хранения пар ключ-значение, но в порядке возрастания. TreeMap реализует NavigableMap, а NavigableMap расширяет SortedMap, а SortedMap расширяет Map. Каждый элемент уникален. Объявление TreeMap выглядит следующим образом.
public class TreeMap расширяет AbstractMap, реализует NavigableMap, Cloneable, Serializable
K относится к ключу, а V относится к значению, соответствующему этому конкретному ключу. Каждая пара ключ-значение является записью TreeMap.
Рисунок 03: Программа TreeMap с использованием Java
В соответствии с приведенной выше программой создается объект TreeMap. Затем программист может добавлять элементы, используя этот объект. Значения могут быть вставлены с помощью метода put. Чтобы получить значения, программист должен использовать метод get с ключом. При использовании studentList.get("150"); он напечатает соответствующее имя для этого индекса, который является Ann. Если программист хочет получить все значения, он может использовать Map. Entry для вывода всех ключей и значений. При наблюдении за выводом видно, что TreeMap поддерживает определенный порядок. Элементы печатаются в порядке возрастания.
В чем сходство между HashMap и TreeMap?
- И HashMap, и TreeMap реализуют интерфейс Map.
- И HashMap, и TreeMap могут хранить множество элементов и управлять ими.
- И HashMap, и TreeMap содержат пары ключ-значение.
- HashMap и TreeMap могут иметь много нулевых значений.
- Нет ограничений на количество элементов, которые могут храниться как в HashMap, так и в TreeMap.
В чем разница между HashMap и TreeMap?
HashMap против TreeMap |
|
A HashMap - это класс коллекции на основе карты, который используется для хранения пар ключ-значение, которые не поддерживают определенный порядок в элементах данных. | A TreeMap - это класс коллекции на основе карты, который используется для хранения пар ключ-значение, поддерживающий порядок элементов данных в порядке возрастания. |
Заказать | |
HashMap не поддерживает порядок. | TreeMap поддерживает порядок возрастания. |
Нулевой ключ | |
HashMap может содержать один нулевой ключ. | TreeMap не может иметь нулевой ключ. |
Производительность | |
HashMap быстрее, чем TreeMap. | TreeMap медленнее, чем HashMap. |
Резюме – HashMap против TreeMap
Языки программирования, такие как Java, содержат структуру коллекции. В массивах может быть фиксированное количество элементов. Поэтому размер массива должен быть инициализирован в начале. В коллекциях программист может хранить множество элементов по мере необходимости. Нет конкретной суммы для хранения. Карта представляет собой интерфейс, принадлежащий структуре коллекции. HashMap - это класс коллекции на основе карты, который используется для хранения пар ключ-значение, которые не поддерживают определенный порядок в элементах данных. TreeMap - это класс коллекции на основе Map, который используется для хранения пар ключ-значение, поддерживающий порядок элементов данных в порядке возрастания. В этой статье обсуждалась разница между HashMap и TreeMap, которая реализует интерфейс карты. Разница между HashMap и TreeMap заключается в том, что HashMap не поддерживает определенный порядок элементов данных, в то время как TreeMap поддерживает восходящий порядок элементов данных.