A LinkedList implements the Queue interface as well as the List interface (ArrayList doesn't), but to get it to behave like a queue you've got to use the methods in that interface. You're just using the List interface - adding values and then iterating through them in order. All classes implementing List ought to behave the same way doing that.