JAVA定长队列(chatGPT)
时间:2023-11-30 22:49 作者:emer 分类: 无
你可以使用Java中的Queue接口来实现定长队列。Queue接口提供了以下几个方法:
int size() :获取队列长度;
boolean add(E) / boolean offer(E) :添加元素到队尾;
E remove() / E poll() :获取队列头部元素并删除;
E element() / E peek() :获取队列头部元素但不删除。
你可以使用ArrayDeque类来实现Queue接口,它是一个由数组实现的双端队列。你可以使用addFirst()和removeLast()方法来实现定长队列。你可以使用以下代码来实现一个定长队列:
public class FixedSizeQueue
private int maxSize;
public FixedSizeQueue(int maxSize) {
this.maxSize = maxSize;
}
@Override
public boolean add(E e) {
if (size() == maxSize) {
removeLast();
}
return super.add(e);
}
}
这个类继承了ArrayDeque类并重写了add()方法。当队列已满时,它会删除队列尾部的元素,然后再添加新的元素。这样就可以实现一个定长队列了。