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

Java基础
体验Java 1.5中面向(AOP)编程
Java中基于Aspectwerkz的AOP
2004开发技术年度综述之Java世界
JavaBeans程序开发
开发基于Java的图形用户界面
Java加密和数字签名编程
Java应用程序中创建图像
初探Java类加载机制
EJB3.0之实体Bean的继承
javamail收取Hotmail的退信
JavaMail访问Hotmail邮箱
EJB3.0开发之多对多和一对一
EJB 3.0开发指南之多表映射
EJB组件与可重用性的矛盾
J2SE中的序默认序列化
Java操作文本文件的方法
Java多线程编程之限制优先级
EJB 3.0 开发指南之定时服务
J2SE中的序列化之继承
J2SE中的序列化的认识

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-29   浏览: 47 ::
收藏到网摘: 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下编译通过