Реализация навязчивого списка для Java?

Есть ли (хорошо реализованные) навязчивые классы двойных связанных списков, доступные для Java? Или мне самому сделать? У Boost есть это для C ++: http://beta.boost.org/doc/libs/1_40_0/doc/html/boost/intrusive/list.html .

Intrusive list - это контейнер, содержащий ( в данном случае) указатели next и prev внутри элемента, поэтому типичные операции со списком, такие как замена и удаление, могут быть непосредственно нацелены на элементарный класс, а не на класс-контейнер. Есть определенные ситуации, когда навязчивый список - лучшее решение.

Я пытаюсь привести соответствующий пример. Предположим, у меня есть связанные списки L list1 и L list2, принадлежащие разным типам классов X1 и Y2.

класс Q (который не имеет ничего общего или не может легко получить доступ к интерфейсам x1 и Y2 в противном случае) должен делать i) заменить, ii) удалить операцию для элемента e, - Класс-оболочка для элемента e и дополнительные методы для выполнения операций i и ii. Нет.

В основном вопрос не в производительности, а в архитектурной сложности. Это также можно понимать как один из видов ситуации с разделяемыми объектами, когда решение IL избегает необходимости обновления для каждого клиента Lx и Q.

Обратите внимание, что мне НЕ нужна совместимость с другими стандартными контейнерами. Просто общая навязчивая реализация lsit с операциями итерации, добавления, удаления и поиска, используемыми с неизвестным классом элементов.

Спасибо.

10
задан Jazz 16 September 2010 в 15:34
поделиться