JAVA定长队列(chatGPT)

你可以使用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 extends ArrayDeque {
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()方法。当队列已满时,它会删除队列尾部的元素,然后再添加新的元素。这样就可以实现一个定长队列了。


emer 发布于  2023-11-30 22:49