当前位置: 首页 > 图文教程 > Java技术 > Java基础 > 编写一个JAVA的队列类

Java基础
Java中基本数据类型与流
Eclipse中使用ANT
Hibernate+Spring+Struts扩展Struts
Eclipse开发Hibernate应用程序
JBuilder2005实现重构
CORBA对象生命周期
基于Java的代理设计模式
Eclipse 3.0 上配置JSP开发环境
EJB 3.0 开发指南之实体Bean
EJB 3.0 开发指南之依赖值对象
Decorator模式中遭遇继承与聚合
Taglib原理和实现
Java桌面应用程序设计
CORBA技术探索起步
JBuilder9制作EXE文件
JBuilder2005+JBOSS+Oracle9i环境配置
Java体系结构对信息安全的支持
JavaBeans程序开发从入门到精通
Java多线程编程精要
谈谈J2SE中当序列化遭遇继承

Java基础 中的 编写一个JAVA的队列类


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 54 ::
收藏到网摘: n/a

  根据这些特点,对队列定义了以下六种操作:

    enq(x) 向队列插入一个值为x的元素;

    deq() 从队列删除一个元素;

    front() 从队列中读一个元素,但队列保持不变;

    empty() 判断队列是否为空,空则返回真;

    clear() 清空队列;

    search(x) 查找距队首最近的元素的位置,若不存在,返回-1。

   Vector类是JAVA中专门负责处理对象元素有序存储和任意增删的类,因此,用Vector

    可以快速实现JAVA的队列类。 

     public class Queue extends java

    public synchronized void enq(Object x) {

    super.addElement(x);

    }

    public synchronized Object deq() {

    /* 队列若为空,引发EmptyQueueException异常 */

    if( this.empty() )

    throw new EmptyQueueException();

    Object x = super.elementAt(0);

    super.removeElementAt(0);

    return x;

    }

    public synchronized Object front() {

    if( this.empty() )

    throw new EmptyQueueException();

    return super.elementAt(0);

    }

    public boolean empty() {

    return super.isEmpty();

    }

    public synchronized void clear() {

    super.removeAllElements();

    }

    public int search(Object x) {

    return super.indexOf(x);

    }

    }

   public class EmptyQueueException extends java

    }
  

  以上程序在JDK1.1.5下编译通过