ArrayDeque是Java中提供的一个双端队列的实现类,使用数组作为内部数据结构进行存储。由于数组在创建时需要分配一定的空间,因此如果使用固定大小的数组存储,队列的大小就会受到限制。为了解决这个问题,ArrayDeque实现了一种动态扩容的机制,当元素数量超过数组容量时,会自动创建一个更大的数组来存储更多的元素,并将之前的元素复制到新的数组中。这种方式可以实现无限大小的ArrayDeque。
以下是一个简单的示例代码:
import java.util.ArrayDeque;
public class TestArrayDeque {
public static void main(String[] args) {
ArrayDeque deque = new ArrayDeque<>();
for (int i = 0; i < 100; i++) {
deque.add(i);
}
System.out.println(deque.size());
}
}
在这个示例中,我们创建了一个ArrayDeque对象,并向队列中添加了100个元素。由于ArrayDeque具有无限大小,因此可以添加任意数量的元素,而不会受到数组容量的限制。最后,我们打印出了队列中元素的数量,可以看到输出为100。