我需要创建一个FIFO队列。我想为它创建一个LinkedList,因为它是本地方法来删除和添加。但是我的队列应该有一个固定的大小,所以我怎么能修复这个大小?Java - LinkedList疑问
在此先感谢!
我需要创建一个FIFO队列。我想为它创建一个LinkedList,因为它是本地方法来删除和添加。但是我的队列应该有一个固定的大小,所以我怎么能修复这个大小?Java - LinkedList疑问
在此先感谢!
最简单的事情将被使用的java.util.Deque或java.util.Queue
的实现方式之一,您可以在自己的类包装一个LinkedList
的实例,并控制规模(组成)。这种情况的缺点(或根据您的偏好而定)是,您可以控制要触发哪些方法,在此情况下为add
和remove
。另一种选择是在控制尺寸的同时扩展LinkedList
并覆盖add
/remove
。
感谢您的答案。你能更好地解释我需要做什么吗?我必须控制LinkedList的限制,以便在添加我的东西时不会传递某个数字。 – Samth
如果你必须有一个固定的大小,那么你应该使用一个ArrayList(或者只是一个数组)来支持FIFO ....只需保留一个表示头部索引的变量,并且一个表示索引的变量的尾巴,并随着你的推动和流行而移动它们。
但是,如果这不是家庭作业,则应该使用许多可用的集合类之一。他们做得很好。
固定大小或有界大小? – Atreys
覆盖add方法以在添加之前执行列表大小检查? –
这是HW吗?如果是这样,请标记为这样。但是如果有人加入到超过规模的队列中,您希望发生什么? –