How to implement Queue ?
Following example shows how to implement a queue in an employee structure.
import java.util.LinkedList; class GenQueue { private LinkedList list = new LinkedList(); public void enqueue(E item) { list.addLast(item); } public E dequeue() { return list.poll(); } public boolean hasItems() { return !list.isEmpty(); } public int size() { return list.size(); } public void addItems(GenQueue extends E> q) { while (q.hasItems()) list.addLast(q.dequeue()); } } public class GenQueueTest { public static void main(String[] args) { GenQueue empList; empList = new GenQueue(); GenQueue hList; hList = new GenQueue(); hList.enqueue(new HourlyEmployee("T", "D")); hList.enqueue(new HourlyEmployee("G", "B")); hList.enqueue(new HourlyEmployee("F", "S")); empList.addItems(hList); System.out.println("The employees' names are:"); while (empList.hasItems()) { Employee emp = empList.dequeue(); System.out.println(emp.firstName + " " + emp.lastName); } } } class Employee { public String lastName; public String firstName; public Employee() { } public Employee(String last, String first) { this.lastName = last; this.firstName = first; } public String toString() { return firstName + " " + lastName; } } class HourlyEmployee extends Employee { public double hourlyRate; public HourlyEmployee(String last, String first) { super(last, first); } }
The above code sample will produce the following result.
The employees' name are: T D G B F S
Advertisement