用java写一个Queue类,其中有一个方法是当元素个数超过数组大小,则数组大小翻倍
时间: 2024-10-09 15:10:59 浏览: 20
在Java中,你可以创建一个`Queue`类,使用数组作为底层数据结构,并实现动态扩容的功能。下面是一个简单的示例,这里使用了`ArrayList`作为数组,因为它提供了容量自动调整的能力:
```java
import java.util.ArrayList;
public class DynamicArrayQueue<T> {
private ArrayList<T> queue;
private int capacity;
public DynamicArrayQueue(int initialCapacity) {
this.queue = new ArrayList<>(initialCapacity);
this.capacity = initialCapacity;
}
// 添加元素的方法,如果队列已满则扩大容量
public void enqueue(T element) {
if (queue.size() >= capacity) {
// 扩容一倍
capacity *= 2;
// 创建新的大容量列表并复制旧的数据
ArrayList<T> temp = new ArrayList<>(capacity);
temp.addAll(queue);
queue = temp;
}
queue.add(element);
}
// 其他方法如dequeue、isEmpty等可以根据需要添加
// 示例:获取当前队列的大小
public int size() {
return queue.size();
}
//
阅读全文