When you add the first object, that first object should be both head and tail. What is happening is: since when you call addLast in your second statement tail is null, then it uses the addFirst...