有一个定长队列,在队列没有满的时候不断往队列中塞入元素,当队列满的时候,每放入一个新元素的同时删掉队尾的元素,使用java实现
时间: 2024-04-21 15:03:41 浏览: 71
可以使用Java中的LinkedList来实现定长队列,具体实现代码如下:
```java
import java.util.LinkedList;
public class FixedSizeQueue<T> {
private LinkedList<T> queue;
private int maxSize;
public FixedSizeQueue(int maxSize) {
this.maxSize = maxSize;
queue = new LinkedList<>();
}
public void add(T element) {
if (queue.size() == maxSize) {
queue.removeLast();
}
queue.addFirst(element);
}
public T get(int index) {
return queue.get(index);
}
public int size() {
return queue.size();
}
}
```
在上面的实现中,我们先定义了一个LinkedList作为队列,然后在构造函数中传入最大长度maxSize。在add方法中,我们首先判断队列是否已经满了,如果已经满了,则使用removeLast方法删除队尾元素,然后再使用addFirst方法将新元素添加到队头。get方法用于获取队列中指定下标的元素,size方法用于获取队列的长度。
阅读全文