Разница между HashMap и TreeMap Java собеседование

00:18 Различие реализации HashMap и TreeMap 00:40 Преимущества TreeMap над HashMap 01:50 Преимущества HashMap над TreeMap 02:17 Почему HashMap используется чаще 02:29 Недостатки сортировки и сравнения 02:47 Интерфейс Compfrable 03:05 Метод compareTo Хотите повлиять на темы сюжетов? Вам сюда https://vk.com/itspherechannel?w=wall...
Я в ВК https://vk.com/id26420520
Группа в ВК https://vk.com/itspherechannel
Опрос в группе https://vk.com/itspherechannel?w=wall...
Многие из вас знают про существование такой реализации интерфейса Map как TreeMap. Но думаю что многие из вас на самом деле редко используют ее в повседневной работе. Наиболее часто вы используете реализацию HashMap. Я Александр и вы на канале IT sphere и сейчас мы поговорим о том почему дела обстоят так. Первое о чем нужно упомянуть это: Чем отличается реализации HashMap от TreeMap? Основным отличием будет то, что в основе HashMap лежит хеш таблицы. А в основе TreeMap сбалансированное красно черное деревья. Кстати в планах есть идея отснять сюжет о красно черных деревьях так что подпишитесь если хотите посмотреть Какие преимущества TreeMap над HashMap? Так как это две реализации интерфейса Map они нам позволяют хранить пары ключ и значение. Но TreeMap хранит их в отсортированном по ключу виде. ”О круто! Теперь мы можем вызвать метод toString() и нам выведется содержимое мапки в отсортированном виде”. “Или итерировать мы можем в прямом порядке”. Так скажет человек который не понимает основного преимущества. Основное преимущество в том что нам намного полезнее находить объекты по каким фильтрам или условиям. Например если у нас в мапке лежат несколько пользователей, ключом является фамилия пользователя, то у нас появляется возможность найти всех пользователей фамилия которых находятся между фамилией Петров и Сидоров. И для этого, я подчеркиваю, не нужно ничего сортировать оно и так отсортировано. TreeMap позволяет делать и другие полезные операции. Чтобы ознакомиться с ними по подробней рекомендую поискать интерфейсы NavigeibleMap и SortedMap. TreeMap их реализует. Конечно! Тоже самое мы можем сделать и в HashMap но нам придется предварительно все фамилии отсортировать, что может занять много времени если у нас много объектов хранится в мапке. Теперь поговорим о: Какие преимущества HashMap над TreeMap? Во первых скорость операций HashMap дает нам возможность удалять, находить и добавлять объекты за время O(1). Кстати об этом я говорил тут. А TreeMap гарантирует нам O(log(n)) на те же операции. Почему так я расскажу в сюжете про красно черные деревья. Как вы понимаете чем больше количество элементов тем различия во времени выполнения одной из этих операций будут больше.

Смотрите также