Class Queue<T>

  • Type Parameters:
    T - type of object in the queue
    All Implemented Interfaces:
    Iterable<T>

    public class Queue<T>
    extends Object
    implements Iterable<T>
    Provides a wrapper around a Deque to support LIFO and FIFO operations.
    • Field Detail

      • queueType

        private final QueueType queueType
        How will objects be inserted into the queue.
      • queue

        private final Deque<T> queue
        Underlying queue.
    • Constructor Detail

      • Queue

        public Queue​(QueueType type)
        Creates a new queue.
        Parameters:
        type - how will objects be inserted into the queue
    • Method Detail

      • remove

        public T remove()
        Removes the first element in the queue. See Deque.removeFirst().
        Returns:
        first element in the queue
      • remove

        public boolean remove​(T t)
        Removes the supplied element from the queue. See Deque.remove(Object).
        Parameters:
        t - to remove
        Returns:
        whether t was removed
      • element

        public T element()
        Retrieves, but does not remove, the first element in the queue. See Deque.getFirst().
        Returns:
        first element in the queue
      • contains

        public boolean contains​(T t)
        Returns whether t is in the queue. See Deque.contains(Object).
        Parameters:
        t - that may be in the queue
        Returns:
        whether t is in the queue
      • isEmpty

        public boolean isEmpty()
        Returns whether or not the queue is empty. See Collection.isEmpty()}.
        Returns:
        whether the queue is empty
      • size

        public int size()
        Returns the number of elements in the queue. See Deque.size().
        Returns:
        number of elements in the queue