Есть ли коллекция, которая ведет себя как очередь, но позволяет мне одновременно получать несколько элементов?
Я ищу структуру данных, которая ведет себя как очередь (это может быть реализация очереди), но позволяет мне получить несколько элементов из коллекции (пример: первые 15 элементов очереди).
Было бы очень приятно, если бы не потребовались новые зависимости.
Есть ли что-нибудь подобное?
Чем ближе, чем я получил во время моего исследования, был BlockingQueue с методом drainTo(), но это не то, что мне нужно.
Ответы
Ответ 1
LinkedList реализовать очередь, коллекцию и список.
Вы можете poll для головы или получить sublist для первых 15 элементов, а затем removeRange, чтобы удалить их.
Я бы, наверное, просто опросил 15 раз, так как в любом случае sublist/removeRange будет нуждаться в том, чтобы перебирать элементы каким-то образом, поэтому перформанс будет аналогичным.