В LRU на основе Map удаление и повторная вставка переносят прочитанный ключ в конец порядка, помечая его недавно использованным.
Зачем при get в LRU-кэше удалять ключ и затем добавлять его снова?
В LRU на основе Map удаление и повторная вставка переносят прочитанный ключ в конец порядка, помечая его недавно использованным.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В LRU на основе Map удаление и повторная вставка переносят прочитанный ключ в конец порядка, помечая его недавно использованным.
Тогда первый ключ — кандидат на вытеснение при превышении лимита. Простое set существующего ключа в Map не меняет порядок вставки. В реализации с двусвязным списком аналогичная операция перемещает узел, а не обязательно удаляет данные.