Загрузка страницы

Разница между 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-68704273_8%2Fall
Я в ВК https://vk.com/id26420520
Группа в ВК https://vk.com/itspherechannel
Опрос в группе https://vk.com/itspherechannel?w=wall-68704273_3%2Fall

Многие из вас знают про существование такой реализации интерфейса 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)) на те же операции. Почему так я расскажу в сюжете про красно черные деревья. Как вы понимаете чем больше количество элементов тем различия во времени выполнения одной из этих операций будут больше.

Видео Разница между HashMap и TreeMap Java собеседование канала Будников Александр
Показать
Комментарии отсутствуют
Введите заголовок:

Введите адрес ссылки:

Введите адрес видео с YouTube:

Зарегистрируйтесь или войдите с
Информация о видео
22 сентября 2014 г. 6:54:18
00:05:08
Другие видео канала
Красно черные деревья Алгоритмы Java собеседованиеКрасно черные деревья Алгоритмы Java собеседованиеArrayList, LinkedList. Java собеседованиеArrayList, LinkedList. Java собеседованиеHashMap Java собеседованиеHashMap Java собеседованиеHashSet и TreeSet - Collections #1 - Advanced JavaHashSet и TreeSet - Collections #1 - Advanced JavaКак стать программистом? Часть 4. Что должен знать junior  ТОП технологийКак стать программистом? Часть 4. Что должен знать junior ТОП технологийКрасно-Чёрные ДеревьяКрасно-Чёрные ДеревьяЭти ошибки могут стоить вам позиции Junior-а. Ошибки, которых лучше избежать начинающим. (мой опыт)Эти ошибки могут стоить вам позиции Junior-а. Ошибки, которых лучше избежать начинающим. (мой опыт)Оценка сложности алгоритма. Сложность алгоритмов. Big O, Большое ООценка сложности алгоритма. Сложность алгоритмов. Big O, Большое ОHashMap 2 Java собеседованиеHashMap 2 Java собеседованиеСобеседование на должность Java Junior. Вопросы и ответыСобеседование на должность Java Junior. Вопросы и ответыОценка сложности алгоритмов | Компьютерная школа HillelОценка сложности алгоритмов | Компьютерная школа HillelАлександр Маторин — Неадекватное Java-интервьюАлександр Маторин — Неадекватное Java-интервьюКогда умрет Java, стоит ли ее выбирать как свой путь развитияКогда умрет Java, стоит ли ее выбирать как свой путь развития[Ответы] Java Junior реальное собеседование | Collection API | Часть 3[Ответы] Java Junior реальное собеседование | Collection API | Часть 3КЕМ РАБОТАТЬ, чтобы много ПУТЕШЕСТВОВАТЬ?КЕМ РАБОТАТЬ, чтобы много ПУТЕШЕСТВОВАТЬ?АиСД S02E05. Дерево поиска. АВЛ-деревоАиСД S02E05. Дерево поиска. АВЛ-деревоЧто такое инкапсуляция? Заблуждения об инкапсуляцииЧто такое инкапсуляция? Заблуждения об инкапсуляцииСобеседование по Java с Алексом ШестеровымСобеседование по Java с Алексом ШестеровымТоп 10 вопросов с Java собеседованияТоп 10 вопросов с Java собеседования
Яндекс.Метрика