Deque从JDK1.6开始使用,继承自Queue。Deque是一个线性集合,支持两端插入和移除元素。
包含方法:
- void addFirst(E e);在双向列表前面插入指定元素,如果没有可用空间则抛出IllegalStateException。使用容量限制的双向列表时,通常最好使用offerFirst。
- void addLast(E e);在双向列表末尾插入指定元素,如果没有可用空间则抛出IllegalStateException。使用容量限制的双向列表时,通常最好使用offerLast。
- boolean offerFirst(E e); 将指定元素插入到双向列表前面,除非违反容量限制。该方法只能通过抛异常来插入元素。
- boolean offerLast(E e);将指定元素插入到双向列表末尾,除非违反容量限制。该方法只能通过抛异常来插入元素。
- E removeFirst(); 检索并删除双向列表的第一个元素。当双向列表为空,则抛出NoSuchElementException。
- E removeLast(); 检索并删除双向列表末尾元素。当双向列表为空的时候,则抛出NoSuchElementException。
- E pollFirst(); 检索并删除双向列表第一个元素,如果双向列表为空,则返回null。
- E pollLast();检索并删除双向列表末尾元素,如果双向列表为空,则返回null。
- E getFirst(); 检索双向列表第一个元素。如果双向列表为空,则抛出NoSuchElementException
- E getLast(); 检索双向列表末尾元素。如果双向列表为空,则抛出NoSuchElementException
- E peekFirst(); 检索双向列表第一个元素。如果双向列表为空,返回null
- E peekLast(); 检索双向列表末尾元素。如果双向列表为空,返回null
- boolean removeFirstOccurrence(Object o);从此双向列表中删除第一次出现的指定元素,返回true。如果双向列表不包含指定元素,则不会更改,返回false。
- boolean removeLastOccurrence(Object o);从此双向列表中删除最后一次出现的指定元素,返回true。如果双向列表不包含指定元素,则不会更改,返回false。
- boolean add(E e);将指定元素插入双向列表的尾部,成功时返回true,如果没有空间可用,抛出IllegalStateException。
- boolean offer(E e);将指定元素插入双向列表的尾部,成功时返回true,如果没有空间可用,返回false。
- E remove();检索并删除双向列表的第一个元素,如果双向列表为空,则抛出NoSuchElementException
- E poll();检索并删除双向列表的第一个元素,如果双向列表为空,则返回null
- E element();返回双向列表第一个元素,如果双向列表为空,抛出NoSuchElementException
- E peek();返回双向列表第一个元素,如果双向列表为空,返回null
- void push(E e);将元素推送到双向列表的第一位,如果没有可用空间则抛出IllegalArgumentException
- E pop();删除并返回双向列表的第一个元素。
- boolean remove(Object o);删除第一次出现的指定元素,返回true。如果双向列表不包含该元素。则不会更改,返回false。
- boolean contains(Object o);如果此双向列表包含指定的元素,则返回true。
- Iterator descendingIterator();元素按从尾部到头部的顺序返回。