Conversation
Sla-als
left a comment
There was a problem hiding this comment.
Хорошая работа! Есть одно небольшое предложение:
| if (task == null) { | ||
| return; | ||
| } | ||
| history.removeIf(existingTask -> existingTask.getId() == task.getId()); |
There was a problem hiding this comment.
Можно лучше:
используется операция removeIf при добавлении и удалении задач из истории. Методы removeIf и поиск по списку — это операции O(n), где n — размер истории. При большом количестве запросов история может становиться довольно большой, и такая реализация может негативно сказаться на производительности.
Используйте структуру данных, которая позволит удалять и перемещать задачи в истории за O(1). Для этого в типовом решении предлагают использовать двусвязный список (реализованный вручную) и HashMap для хранения ссылок на соответствующие узлы списка. Таким образом, имея id задачи, можно сразу получить узел списка из HashMap и удалить его за O(1).
|
🔥🔥🔥 |
Merge pull request yandex-praktikum#5 from lirima11/main
Реализованные изменения:
Проверка: