In this course, you’ll explore a popular data structure, the queue. Queues offer first in, first out access. All additions to the queue are done at one end, which is the rear of the queue, and removals from the queue are done from the front of the queue. You'll learn how to implement a queue using arrays and linked lists and you’ll also examine a related data structure, the deque - basically the queue with additional operations. Next, you'll learn about implementations of the stack and queue, which are part of the standard Java library. Finally, you'll see how you can work with the priority queue, which allows you to access elements in the order of priority.