que.java

来自「设计模式关于LOG的CLL系统」· Java 代码 · 共 86 行

JAVA
86
字号
/**
 *创建一个队列Que,用于存放我们建立的LOG,
 *队列中的元素可以按实现的接口进行排序
 **/
package cn.edu.nju.software.sd.cll;
import java.util.*;
public class Que extends java.util.Vector
{
	public static Que que=new Que();
	public Que()
	{
		super();
	}
	//往队列中插值
	public void enq(Object x)
	{
		super.addElement(x);
	}
	//从队列删除值
	public Object dep()
	{
		if(this.empty())
		throw new EmptyQueueException();
		Object x=super.elementAt(0);
		super.removeElementAt(0);
		return x;	
	}
	//从队列中读元素
	public Object front()
	{
		if(this.empty())
		throw new EmptyQueueException();
		return super.elementAt(0);	
	}
	//判断是否非空
	public boolean empty()
	{
		return super.isEmpty();
	}
	//清空队列
	public void clear()
	{
		super.removeAllElements();
	}
	// 查找元素
	public int search(Object x)
	{
		return super.indexOf(x);
	}
	//队列长度
	public int length()
	{
		return super.size();
	}
	//排序队列
	public void sort()
	{
		Collections.sort(Que.que); 
	}
	//返回前一个元素
	public Object head(Object o)
	{
		int i=search(o);
		if(i>0)
		return super.elementAt(i-1);
		else
		return null; 
	}
	//返回后一个元素
	public Object next(Object o)
	{
		int i=search(o);
		if(i<length()-1)
		return super.elementAt(i+1);
		else
		return null;
	}
	//异常处理
	class EmptyQueueException extends java.lang.RuntimeException
	{
		public EmptyQueueException()
		{
			super();
		}
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?