Java 是否有一个行为类似于队列但允许我一次获取多个元素的集合?

Java 是否有一个行为类似于队列但允许我一次获取多个元素的集合?,java,collections,Java,Collections,我正在寻找一种行为类似于队列的数据结构(它可以是队列实现),但允许我从集合中获取多个元素(例如:队列的前15个元素) 如果它不需要新的依赖项,那就太好了 有类似的吗 在研究过程中,我离使用drainTo()方法阻塞队列越近,但这不是我需要的。实现队列、集合和列表 你可以为头部,或为前15个元素获取一个,然后也删除它们 我可能只需要轮询15次,因为子列表/移除范围无论如何都需要在元素上迭代,因此性能将类似。我将创建自己的方法,该方法调用poll x次(作为参数给定)并返回一个新集合(我不知道Nim

我正在寻找一种行为类似于队列的数据结构(它可以是队列实现),但允许我从集合中获取多个元素(例如:队列的前15个元素)

如果它不需要新的依赖项,那就太好了

有类似的吗

在研究过程中,我离使用drainTo()方法阻塞队列越近,但这不是我需要的。

实现队列、集合和列表

你可以为头部,或为前15个元素获取一个,然后也删除它们


我可能只需要轮询15次,因为子列表/移除范围无论如何都需要在元素上迭代,因此性能将类似。

我将创建自己的方法,该方法调用poll x次(作为参数给定)并返回一个新集合(我不知道NimChimpsky是否也有同样的建议,因为他不断地编辑,但这几乎是正确的做法)为什么你认为你需要这个,而不是重复使用?我仍然在考虑这个问题,或者像你之前建议的那样多次调用queue.poll()。queue.poll()的优势我不需要处理队列比批大小小的情况,也不需要手动删除元素。我不确定哪段代码看起来更好。我正在运行一些性能测试moment@JSBach我想性能差异是可以忽略的,看看sublist和removeRange的来源-我认为必须迭代元素。好的,很酷。实际上removeRange是受保护的,所以我不能使用它。我必须调用sublist(…).clear()。无论如何,我将重复投票15次。感谢您的帮助,我将尽快将其标记为回答。我同意将LinkedList作为实现的建议。但是,为了简化代码维护,您应该将接口作为集合的一种类型。为了尊重接口,有一个子接口提供abi可以返回到第一个元素(顺便说一下,检索15个第一个元素)。LinkedList是该接口的一个实现。