Collection接口的子接口——Deque接口

  https://docs.oracle.com/javase/8/docs/api/java/util/Deque.html

 

  public interface Deque<E> extends Queue<E>

  E,容器中的元素类型。

  父接口:Collection<E>, Iterable<E>, Queue<E>

  子接口:BlockingDeque<E>

  常见实现类:ArrayDeque, ConcurrentLinkedDeque, LinkedBlockingDeque, LinkedList

 

  一、介绍

  Deque被称为双端队列,一种支持在两端进行移除和插入的线性容器。

  Deque在头尾都能进行Queue中的三种操作,如下图所示:

 

  由于Deque在能在双端操作,它既可以作为FIFO Queue,也能作为LIFO Queue,即Stack。

  当Deque作为FIFO Queue使用时,它与Queue接口中对应的方法如下:

 

  当Deque作为LIFO Queue使用时,官方文档说,这个接口应该优先于传统的Stack类被使用。两者的对应方法如下:

 

  Deque接口供了两种方法删除内部元素,removeFirstOccurrence()和removeLastOccurrence()。

  与List接口不同,Deque不支持通过索引访问元素。

  

  Deque虽然没有严格禁止插入null元素,但是强烈建议大家这样做!

  Deque实现类一般不会重写equals()和hashcode(),而是直接继承Object类中的版本。

 

   Deque接口是Java Collections Framework的成员。

 

原文地址:https://www.cnblogs.com/bigbigbigo/p/8566700.html