Разница между HashMap и TreeMap

Оглавление:

Разница между HashMap и TreeMap
Разница между HashMap и TreeMap

Видео: Разница между HashMap и TreeMap

Видео: Разница между HashMap и TreeMap
Видео: Разница между HashMap и TreeMap Java собеседование 2024, Ноябрь
Anonim

Ключевая разница - 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.

Разница между HashMap и TreeMap
Разница между HashMap и TreeMap

Рисунок 01: Интерфейс карты

Представьте следующий сценарий, чтобы понять HaspMap. Если программист хочет сохранить набор имен учеников и соответствующих порядковых номеров, он может использовать HashMap. Имена учащихся используются для поиска порядковых номеров. Таким образом, имена учащихся являются ключами, а порядковые номера - значениями.

Разница между HashMap и TreeMap _Рисунок 02
Разница между HashMap и TreeMap _Рисунок 02

Рисунок 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.

Ключевая разница между HashMap и TreeMap
Ключевая разница между HashMap и 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 поддерживает восходящий порядок элементов данных.

Рекомендуемые: