Class PriorityBlockingDeque<E>

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Iterable<E>, java.util.Collection<E>, java.util.concurrent.BlockingDeque<E>, java.util.concurrent.BlockingQueue<E>, java.util.Deque<E>, java.util.Queue<E>

    public class PriorityBlockingDeque<E>
    extends java.util.AbstractQueue<E>
    implements java.util.concurrent.BlockingDeque<E>, java.io.Serializable
    See Also:
    Serialized Form
    • Constructor Detail

      • PriorityBlockingDeque

        public PriorityBlockingDeque()
      • PriorityBlockingDeque

        public PriorityBlockingDeque​(java.util.Collection<? extends E> c)
      • PriorityBlockingDeque

        public PriorityBlockingDeque​(int initialCapacity)
      • PriorityBlockingDeque

        public PriorityBlockingDeque​(int initialCapacity,
                                     java.util.Comparator<? super E> comparator)
      • PriorityBlockingDeque

        public PriorityBlockingDeque​(PriorityDeque<? extends E> c)
      • PriorityBlockingDeque

        public PriorityBlockingDeque​(java.util.SortedSet<? extends E> c)
    • Method Detail

      • add

        public boolean add​(E element)
        Specified by:
        add in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        add in interface java.util.concurrent.BlockingQueue<E>
        Specified by:
        add in interface java.util.Collection<E>
        Specified by:
        add in interface java.util.Deque<E>
        Specified by:
        add in interface java.util.Queue<E>
        Overrides:
        add in class java.util.AbstractQueue<E>
      • addFirst

        public void addFirst​(E element)
        Specified by:
        addFirst in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        addFirst in interface java.util.Deque<E>
      • addLast

        public void addLast​(E element)
        Specified by:
        addLast in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        addLast in interface java.util.Deque<E>
      • comparator

        public java.util.Comparator<? super E> comparator()
      • contains

        public boolean contains​(java.lang.Object o)
        Specified by:
        contains in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        contains in interface java.util.concurrent.BlockingQueue<E>
        Specified by:
        contains in interface java.util.Collection<E>
        Specified by:
        contains in interface java.util.Deque<E>
        Overrides:
        contains in class java.util.AbstractCollection<E>
      • descendingIterator

        public java.util.Iterator<E> descendingIterator()
        Returns an iterator over the elements in this queue. The iterator does not return the elements in any particular order.

        The returned iterator is a "weakly consistent" iterator that will never throw ConcurrentModificationException, and guarantees to reverse-traverse elements as they existed upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.

        Specified by:
        descendingIterator in interface java.util.Deque<E>
        Returns:
        an iterator over the elements in this queue
      • drainTo

        public int drainTo​(java.util.Collection<? super E> c)
        Specified by:
        drainTo in interface java.util.concurrent.BlockingQueue<E>
      • drainTo

        public int drainTo​(java.util.Collection<? super E> c,
                           int maxElements)
        Specified by:
        drainTo in interface java.util.concurrent.BlockingQueue<E>
      • getFirst

        public E getFirst()
        Specified by:
        getFirst in interface java.util.Deque<E>
      • getLast

        public E getLast()
        Specified by:
        getLast in interface java.util.Deque<E>
      • iterator

        public java.util.Iterator<E> iterator()
        Returns an iterator over the elements in this queue. The iterator does not return the elements in any particular order.

        The returned iterator is a "weakly consistent" iterator that will never throw ConcurrentModificationException, and guarantees to traverse elements as they existed upon construction of the iterator, and may (but is not guaranteed to) reflect any modifications subsequent to construction.

        Specified by:
        iterator in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        iterator in interface java.util.Collection<E>
        Specified by:
        iterator in interface java.util.Deque<E>
        Specified by:
        iterator in interface java.lang.Iterable<E>
        Specified by:
        iterator in class java.util.AbstractCollection<E>
        Returns:
        an iterator over the elements in this queue
      • offer

        public boolean offer​(E element)
        Specified by:
        offer in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        offer in interface java.util.concurrent.BlockingQueue<E>
        Specified by:
        offer in interface java.util.Deque<E>
        Specified by:
        offer in interface java.util.Queue<E>
      • offer

        public boolean offer​(E element,
                             long timeout,
                             java.util.concurrent.TimeUnit unit)
                      throws java.lang.InterruptedException
        Specified by:
        offer in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        offer in interface java.util.concurrent.BlockingQueue<E>
        Throws:
        java.lang.InterruptedException
      • offerFirst

        public boolean offerFirst​(E element)
        Specified by:
        offerFirst in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        offerFirst in interface java.util.Deque<E>
      • offerFirst

        public boolean offerFirst​(E element,
                                  long timeout,
                                  java.util.concurrent.TimeUnit unit)
                           throws java.lang.InterruptedException
        Specified by:
        offerFirst in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • offerLast

        public boolean offerLast​(E element)
        Specified by:
        offerLast in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        offerLast in interface java.util.Deque<E>
      • offerLast

        public boolean offerLast​(E element,
                                 long timeout,
                                 java.util.concurrent.TimeUnit unit)
                          throws java.lang.InterruptedException
        Specified by:
        offerLast in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • peek

        public E peek()
        Specified by:
        peek in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        peek in interface java.util.Deque<E>
        Specified by:
        peek in interface java.util.Queue<E>
      • peekFirst

        public E peekFirst()
        Specified by:
        peekFirst in interface java.util.Deque<E>
      • peekLast

        public E peekLast()
        Specified by:
        peekLast in interface java.util.Deque<E>
      • poll

        public E poll()
        Specified by:
        poll in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        poll in interface java.util.Deque<E>
        Specified by:
        poll in interface java.util.Queue<E>
      • poll

        public E poll​(long timeout,
                      java.util.concurrent.TimeUnit unit)
               throws java.lang.InterruptedException
        Specified by:
        poll in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        poll in interface java.util.concurrent.BlockingQueue<E>
        Throws:
        java.lang.InterruptedException
      • pollFirst

        public E pollFirst()
        Specified by:
        pollFirst in interface java.util.Deque<E>
      • pollFirst

        public E pollFirst​(long timeout,
                           java.util.concurrent.TimeUnit unit)
                    throws java.lang.InterruptedException
        Specified by:
        pollFirst in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • pollLast

        public E pollLast()
        Specified by:
        pollLast in interface java.util.Deque<E>
      • pollLast

        public E pollLast​(long timeout,
                          java.util.concurrent.TimeUnit unit)
                   throws java.lang.InterruptedException
        Specified by:
        pollLast in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • pop

        public E pop()
        Specified by:
        pop in interface java.util.Deque<E>
      • push

        public void push​(E e)
        Specified by:
        push in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        push in interface java.util.Deque<E>
      • put

        public void put​(E element)
                 throws java.lang.InterruptedException
        Specified by:
        put in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        put in interface java.util.concurrent.BlockingQueue<E>
        Throws:
        java.lang.InterruptedException
      • putFirst

        public void putFirst​(E element)
                      throws java.lang.InterruptedException
        Specified by:
        putFirst in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • putLast

        public void putLast​(E element)
                     throws java.lang.InterruptedException
        Specified by:
        putLast in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • remainingCapacity

        public int remainingCapacity()
        Specified by:
        remainingCapacity in interface java.util.concurrent.BlockingQueue<E>
      • remove

        public boolean remove​(java.lang.Object o)
        Specified by:
        remove in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        remove in interface java.util.concurrent.BlockingQueue<E>
        Specified by:
        remove in interface java.util.Collection<E>
        Specified by:
        remove in interface java.util.Deque<E>
        Overrides:
        remove in class java.util.AbstractCollection<E>
      • removeFirst

        public E removeFirst()
        Specified by:
        removeFirst in interface java.util.Deque<E>
      • removeFirstOccurrence

        public boolean removeFirstOccurrence​(java.lang.Object o)
        Specified by:
        removeFirstOccurrence in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        removeFirstOccurrence in interface java.util.Deque<E>
      • removeLast

        public E removeLast()
        Specified by:
        removeLast in interface java.util.Deque<E>
      • removeLastOccurrence

        public boolean removeLastOccurrence​(java.lang.Object o)
        Specified by:
        removeLastOccurrence in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        removeLastOccurrence in interface java.util.Deque<E>
      • size

        public int size()
        Specified by:
        size in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        size in interface java.util.Collection<E>
        Specified by:
        size in interface java.util.Deque<E>
        Specified by:
        size in class java.util.AbstractCollection<E>
      • take

        public E take()
               throws java.lang.InterruptedException
        Specified by:
        take in interface java.util.concurrent.BlockingDeque<E>
        Specified by:
        take in interface java.util.concurrent.BlockingQueue<E>
        Throws:
        java.lang.InterruptedException
      • takeFirst

        public E takeFirst()
                    throws java.lang.InterruptedException
        Specified by:
        takeFirst in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • takeLast

        public E takeLast()
                   throws java.lang.InterruptedException
        Specified by:
        takeLast in interface java.util.concurrent.BlockingDeque<E>
        Throws:
        java.lang.InterruptedException
      • toArray

        public java.lang.Object[] toArray()
        Specified by:
        toArray in interface java.util.Collection<E>
        Overrides:
        toArray in class java.util.AbstractCollection<E>
      • toArray

        public <T> T[] toArray​(T[] a)
        Specified by:
        toArray in interface java.util.Collection<E>
        Overrides:
        toArray in class java.util.AbstractCollection<E>
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.util.AbstractCollection<E>