Ключевая разница - TreeSet и TreeMap
Массив используется для хранения набора элементов данных одного типа. Большинство языков программирования поддерживают массивы. Несмотря на то, что массив может хранить несколько значений; есть большой минус. После того, как массив создан, его невозможно изменить. Если программист объявил массив из 10 элементов, то он не может хранить 15 элементов. Когда программист объявляет массив из 10 элементов и сохраняет только 5 элементов, оставшаяся часть выделенной памяти оказывается пустой тратой. Языки программирования, такие как Java, имеют коллекции для динамического хранения элементов данных. Есть ряд коллекций. Коллекции помогают выполнять добавление, удаление элементов и другие операции. Базовый интерфейс известен как Коллекция. Set, List и Queue - это некоторые интерфейсы, расширяющие интерфейс Collection. Карта - это интерфейс иерархии коллекций, но он не расширяет интерфейс коллекций. TreeSet - это класс, который реализует интерфейс Set и хранит элементы в порядке возрастания. TreeMap - это класс, который реализует интерфейс Map и хранит пары ключ-значение в порядке возрастания. Это ключевое отличие. В этой статье обсуждается разница между TreeSet и TreeMap.
Что такое TreeSet?
TreeSet - это класс, который реализует интерфейс Set. TreeSet поддерживает уникальные элементы. TreeSet реализует интерфейс NavigableSet. Интерфейс Navigable расширяет интерфейсы SortedSet, Set, Collection и Iterable в иерархическом порядке. TreeSet хранит элементы в порядке возрастания. Если порядок вставки - A, C, B, TreeSet сохранит их как A, B, C. Существуют методы TreeSet. Метод add используется для добавления элемента в набор. Метод remove используется для удаления указанного элемента. Метод очистки используется для удаления всех элементов. Метод contains возвращает значение true, если указанный элемент присутствует в наборе. Это некоторые методы, предоставляемые TreeSet. См. приведенную ниже программу.
Рисунок 01: Программа с использованием TreeSet
Согласно приведенной выше программе, Treeset является объектом типа TreeSet. Он может хранить строки. Элементы добавляются с помощью метода add. Порядок вставки: A, C, D и B. Используя итератор, сохраненные значения выводятся на экран. Элементы хранятся в порядке A, B, C, D. Таким образом, TreeSet поддерживает возрастающий порядок элементов Set. Если есть еще один элемент как «D», он не будет напечатан, потому что элемент D уже существует в наборе. Он всегда хранит уникальные элементы.
Что такое TreeMap?
TreeMap - это класс, реализующий интерфейс карты. Карта поддерживает пары ключ-значение. Каждая пара ключ-значение является записью. Каждый ключ уникален и имеет соответствующее значение. Метод containsKey используется для поиска определенного ключа, а метод containsValue используется для поиска определенного значения. Метод get используется для поиска значения, соответствующего данному ключу. Метод put используется для хранения значения с заданным ключом. Также возможно удалить элемент по определенному ключу, используя метод удаления. Это некоторые распространенные методы интерфейса Map. Это помогает искать, вставлять и удалять элементы на основе ключа. Класс TreeMap реализует NavigableMap. NavigableMap расширяет SortedMap. SortedMap расширяет Map. Следовательно, методы Map можно использовать с TreeMap. См. приведенную ниже программу.
Рисунок 02: Программа с использованием TreeMap
В соответствии с приведенной выше программой создается объект TreeMap. Программист может добавлять элементы, используя объект. Метод put используется для вставки пар ключ-значение. Метод get используется с определенным ключом для извлечения элементов. Программист может использовать Map. Entry для печати всех ключей и значений. При наблюдении за выводом он не поддерживает вставленный порядок. Он хранит элементы в порядке возрастания.
Каковы сходства между TreeSet и TreeMap?
- И TreeSet, и TreeMap находятся в иерархии коллекций.
- И TreeSet, и TreeMap сохраняют порядок возрастания.
- И TreeSet, и TreeMap могут хранить множество элементов и управлять ими.
В чем разница между TreeSet и TreeMap?
TreeSet против TreeMap |
|
TreeSet - это класс, который реализует интерфейс Set и хранит элементы в порядке возрастания. | TreeMap - это класс, который реализует интерфейс Map и хранит пары ключ-значение в порядке возрастания. |
Реализованный интерфейс | |
TreeSet реализует интерфейс Set. | TreeMap реализует интерфейс карты. |
Резюме – TreeSet против TreeMap
Массив используется для хранения набора элементов, но он не помогает динамически сохранять элементы. Языки программирования, такие как Java, содержат коллекции для динамического хранения элементов данных. Коллекция - это базовый класс в иерархии коллекций. Он состоит из классов и интерфейсов для выполнения таких операций, как добавление, удаление элементов. Set и Map - это два интерфейса иерархии Collection. TreeSet - это класс, который реализует интерфейс Set и хранит элементы в порядке возрастания. TreeMap - это класс, который реализует интерфейс Map и хранит пары ключ-значение в порядке возрастания. В этом разница между TreeSet и TreeMap.