如何编写一个JAVA的队列类
编写一个JAVA的队列类的'方法有哪些你知道吗?你对如何编写一个JAVA的队列类了解吗?下面是小编为大家带来的编写一个JAVA的队列类的知识,欢迎阅读。
怎样编写一个JAVA的队列类根据这些特点,对队列定义了以下六种操作:
enq(x) 向队列插入一个值为x的元素;
deq() 从队列删除一个元素;
front() 从队列中读一个元素,但队列保持不变;
empty() 判断队列是否为空,空则返回真;
clear() 清空队列;
search(x) 查找距队首最近的元素的位置,若不存在,返回-1。
Vector类是JAVA中专门负责处理对象元素有序存储和任意增删的类,因此,用Vector
可以快速实现JAVA的队列类。
public class Queue extends java
public synchronized void enq(ob ject x) {
lement(x);
}
public synchronized ob ject deq() {
/* 队列若为空,引发EmptyQueueException异常 */
if( y() )
throw new EmptyQueueException();
ob ject x = entAt(0);
veElementAt(0);
return x;
}
public synchronized ob ject front() {
if( y() )
throw new EmptyQueueException();
return entAt(0);
}
public boolean empty() {
return pty();
}
public synchronized void clear() {
veAllElements();
}
public int search(ob ject x) {
return xOf(x);
}
}
public class EmptyQueueException extends java
}
以上程序在JDK1.1.5下编译通过
-
Java测试题及答案
Java测试题及答案学习是把知识能力思维方法等转化为你的私有产权的重要手段,是公有转私的重要途径。以下是本站小编整理的Java测试题及答案,欢迎学习!试题1指出下面语句没有编译错误的是()。A.longn=999999999999;n=999999999999L;C.longn=999999999999L;D.doubl...
-
新手学习Java最高效的10个计划
对于新手来说学习Java如同堵天书,下面是本站小编收集的关于新手学习Java最高效的10个计划,希望可以为您的学习带来帮助!计划一:了解未来技术发展方向两耳不闻窗外事,在如今是不合适的,尤其是在瞬息万变的互联网时代,作为一个开发者技术跟不上可以去专研,思想要跟不上,...
-
java中length和length()的区别
泉水,奋斗之路越曲折,心灵越纯洁。以下是小编为大家搜索整理了java中length和length()的区别,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考试网!length是属性,一般集合类对象拥有的属性,取得集合的大小。例如:数组th就是取得数组的长度。length()是...
-
关于Java程序员面试中的多线程问题总结
很多核心Java面试题来源于多线程(Multi-Threading)和集合框架(CollectionsFramework),理解核心线程概念时,娴熟的实际经验是必需的。这篇文章收集了Java线程方面一些典型的问题,这些问题经常被高级工程师所问到。0、Java中多线程同步是什么?在多线程程序下,同步能控...