Java如何实现queue队列?
2017-06-16 15:24
344 查看
演示如何在雇员结构实现一个队列。
代码块
import java.util.LinkedList; class GenQueue<E> { private LinkedList<E> list = new LinkedList<E>(); //将指定元素添加到此列表的结尾 public void enqueue(E item) { list.addLast(item); } //获取并移除此列表的头(第一个元素) public E dequeue() { return list.poll(); } //list.isEmpty()如果列表不包含元素,则返回 true public boolean hasItems() { return !list.isEmpty(); //当列表包含元素,返回true } //返回此列表的元素数 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<Employee> GenQueue<Employee> empList; //实例化变量empList empList = new GenQueue<Employee>(); ////定义类GenQueue<HourlyEmployee> GenQueue<HourlyEmployee> hList; //实例化变量hList hList = new GenQueue<HourlyEmployee>(); 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); } } } //Employee类 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; } } //钟点工HourlyEmployee类 class HourlyEmployee extends Employee { //属性 public double hourlyRate; //有参构造函数 public HourlyEmployee(String last, String first) { super(last, first); } } 运行结果: The employees' names are: D T B G S F
相关文章推荐
- 举例说明如何用java中的LinkedList实现队列
- Java数据结构与算法(10) - ch05链表实现队列(Link Queue)
- 【java笔试系列四】Java实现栈Stack和队列Queue
- Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析
- Java:如何利用两个栈实现队列
- Java:如何用两个队列实现栈
- java实现数据结构——栈Stack与队列Queue
- java 5并发中的阻塞队列ArrayBlockingQueue的使用以及案例实现
- Java实现一个简单的队列---Queue
- Java实现数据结构栈stack和队列Queue
- java中使用FIFO队列:java.util.Queue实现多台服务器发邮件的代码
- 基于数组实现Java 自定义Queue队列及应用
- 【Java数据结构学习笔记之三】Java数据结构与算法之队列(Queue)实现
- Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析(还没看,先马)
- java中使用FIFO队列:java.util.Queue实现多台服务器发邮件的代码
- 如何重建 wf_java_deferred 队列(queue)
- Java多线程与并发应用-(10)-java阻塞队列实现ArrayBlockingQueue
- Java阻塞队列ArrayBlockingQueue和LinkedBlockingQueue实现原理分析
- 如何实现java文件队列下载
- Java实现栈Stack和队列Queue