В двух словах я пишу приложение, которому нужна реализация BlockingQueue
, которая обеспечивает как добавление/удаление FIFO, так и быстрый метод contains
, так как я буду называть его TON.
LinkedBlockingQueue
получает большую часть пути, но кажется, что его метод contains
работает в линейном времени, поскольку он основан на методе AbstractQueue
contains
. Я не видел ничего в Java API, который, казалось, рекламировал LBQ с быстрым contains
из коробки.
Что делает вещи более жесткими, мой проект находится на очень суровом временном хрусте (нет, это не домашнее задание). Я мог бы сделать быстрое и грязное расширение LBQ с HashSet
снизу для быстрого contains
, но мне все равно придется его протестировать, что может съесть значительное количество человеко-часов. Мне интересно, есть ли там проверенные/хорошо протестированные библиотеки, которые предоставляют расширение LinkedBlockingQueue
с помощью метода contains
, который работает в O (1) времени...? Если нет, любые другие предложения приветствуются.