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