Queueing Up in Java: Array and Linked List Techniques Demystified