[英]How do I define the Queue size of Objects in Java (Queue Data Structure)
我以为我对引用类型进行了正确的实现,只显示了只能存储在队列中的6个对象,但是我遇到了一个问题,即使超出限制,我的代码也确实在队列中添加了6个以上的对象。 因此,有一些很好的示例来设置队列的大小(引用类型-对象)。 否则,这是到目前为止我的队列实现示例:是的,我知道我可以只使用java实用程序包,但这违背了目标……
// Queue uses class List.
package student_finance;
public class Queue <T>
{
private List<T> queueList;
private int capacity;
// no-argument constructor
public Queue()
{
queueList = new List<>("queue");
capacity = 1;
} // end Queue no-argument constructor
// add object to queue
public void enqueue(T object)
{
queueList.insertAtFront(object);
capacity++;
} // end method enqueue
// remove object from queue
public T dequeue() throws EmptyListException
{
return queueList.removeFromFront();
} // end method dequeue
// Another way of Capacity = Capacity - 1;
public void Decrement()
{
capacity--;
}
// Returns the size of the Queue currently.
public int Size()
{
return capacity;
}
// determine if queue is empty
public boolean isEmpty()
{
return queueList.isEmpty();
} // end method isEmpty
// output queue contents
public void print()
{
queueList.print();
} // end method print
}
首先,您的队列实际上是一个堆栈。 您从列表的同一末端入队和出队,使其成为LIFO,而不是FIFO。
queueList.insertAtFront(object);
和
return queueList.removeFromFront();
其次,您实际上没有在任何地方指定队列的限制,因此没有什么可以阻止超过6个元素的排队。 您需要在入enqueue
范围内进行检查,以确保未达到限制-如果尚未达到,请继续入队。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.