Conversation
| } | ||
| int indexTo = Math.min(startFrom + count, m_messages.size()); | ||
| return m_messages.subList(startFrom, indexTo); | ||
| return m_messages.iterator(startFrom, indexTo); |
| public Iterable<T> iterator(int startIndex, int endIndex) { | ||
| lock.lock(); | ||
| try { | ||
| return new Iterable<>() { |
There was a problem hiding this comment.
лучше не писать всё в одной куче, а вынести в отдельный класс (можно даже внутри текущего класса)
|
|
||
| @Override | ||
| public T next() { | ||
| T element = buffer[current]; |
There was a problem hiding this comment.
Но требование о нерушимости итератора вы не выполнили. Во время чтения итератора, если добавить много элементов, то итератор начнёт выдавать уже другие данные. Это происходит потому, что все данные берутся из одной корзины.
На самом деле структура данных, которую выбрали вы для этого не подходит.
vpyzhyanov
left a comment
There was a problem hiding this comment.
- Не решена проблема утечки памяти
- Структура данных не выполняет базовые требования задачи
| * Итерируемый лист по записям из сегмента | ||
| * @param <T> | ||
| */ | ||
| class myList<T> implements Iterable<T> { |
There was a problem hiding this comment.
Имена классов должны всегда начинаться с большой буквы
| @@ -9,53 +9,52 @@ | |||
| * удерживаемыми в памяти) | |||
| */ | ||
| class Segment<T>{ | ||
| public Segment<T> next; | ||
| public List<T> entries = new LinkedList<>(); |
There was a problem hiding this comment.
- с массивом было бы намного быстрее
- CRITICAL Насколько я вижу вытеснения старых записей не происходит. А это, между прочим, основное требование этой задачи
There was a problem hiding this comment.
Почему вытеснение записей не происходит? Сегмент же удаляется, когда на него теряется ссылка. Что касаемо остальных комментариев, доработаю.
Сегменты удаляются - это верно. Но вот сегмент состоит не из одной записи. А эти записи внутри сегмента не удаляются. Поэтому может так случится, что записей будет больше, чем максимальная длина коллекции.
|
Почему вытеснение записей не происходит? Сегмент же удаляется, когда на него теряется ссылка. Что касаемо остальных комментариев, доработаю. |
прошу писать вопросы и комментарии к конкретному замечанию, а не отдельно |
No description provided.