A queue serves items in arrival order, like a ticket line, while a stack serves the newest first. Building a queue from two stacks is a classic question that checks you understand both orders. It shows how pouring one stack into another reverses the order, giving amortised O(1) per operation. In real code just use ArrayDeque with offer and poll.