一、概况:ArrayDeque实现了Deque接口可当作栈来用,效率高于stack。也可当作队列来用,效率高于LinkedList。

二、底层可变数组实现,无容量限制

三、ArrayDeque是不安全的

四、各种常用操作对应方法:

1、添加元素:
addFirst(E e)在数组前面添加元素
addLast(E e)在数组后面添加元素
offerFirst(E e)在数组前面添加元素,并返回是否添加成功                                                offerLast(E e)在数组后添加元素,并返回是否添加成功

2、删除元素

removeFirst()删除第一个元素,并返回删除元素的值,如果为null,将抛出异常

removeLast()删除最后一个元素,并返回删除元素的值,如果为null,将抛出异常

pollFirst()删除第一个元素,并返回删除元素的值,如果为null,将返回null

pollLast()删除最后一个元素,并返回删除元素的值,如果为null,将返回null

3、获取元素

getFirst()获取第一个元素,如果为null,将抛出异常

getLast()获取最后一个元素,如果为null,将抛出异常

ArrayDeque当栈和队列用时,对应方法与标准的一样

栈(ArrayDeque是一个双向队列,队列的两端都可以进行增删弹出等操作)

队列(ArrayDeque实现Deque接口,而Deque接口是继承了Queue接口)

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐