Есть ли коллекция, которая ведет себя как очередь, но позволяет мне одновременно получать несколько элементов?

Я ищу структуру данных, которая ведет себя как очередь (это может быть реализация очереди), но позволяет мне получить несколько элементов из коллекции (пример: первые 15 элементов очереди).

Было бы очень приятно, если бы не потребовались новые зависимости.

Есть ли что-нибудь подобное?

Чем ближе, чем я получил во время моего исследования, был BlockingQueue с методом drainTo(), но это не то, что мне нужно.

Ответ 1

LinkedList реализовать очередь, коллекцию и список.

Вы можете poll для головы или получить sublist для первых 15 элементов, а затем removeRange, чтобы удалить их.

Я бы, наверное, просто опросил 15 раз, так как в любом случае sublist/removeRange будет нуждаться в том, чтобы перебирать элементы каким-то образом, поэтому перформанс будет аналогичным.