 <p><code>Queue</code> is an interface not a class. <code>LinkedList</code> is an implementation of <code>Queue</code> interface.</p> <p>You can think it like this.</p> <pre><code>Animal a = new Cat() Animal b = new Dog() Animal c = new Cow() </code></pre> <p>a,b and c are all animals. But they are all different kind of animals.</p> <p>There are other implementation of Queue interface like ArrayBlockingQueue and PriorityQueue. They all implement Queue interface but do things diffferently inside. <a href="http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html" rel="nofollow">http://docs.oracle.com/javase/7/docs/api/java/util/Queue.html</a> <a href="http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html" rel="nofollow">http://docs.oracle.com/javase/7/docs/api/java/util/LinkedList.html</a></p> <p>You can think it like this. Animal a = new Cat() Animal b = new Dog() Animal c = new Cow()</p>