📄 queue.java
字号:
package org.tuna.struct;
import java.util.*;
public class Queue
{
private ArrayList<Object> queue;
private Class elementClass;
/**
*构造一个空队列,并注册添加对象的类型
*/
public Queue(Class c)
{
queue = new ArrayList<Object>();
elementClass = c;
}
// ------ Public Methods ------
/**
*清空队列
*/
public boolean destroy()
{
int len = queue.size();
if (len == 0) return false;
for(int i = 0; i < len; i++)
queue.remove(0);
return true;
}
/**
*返回队首元素
*/
public Object front()
{
return queue.get(0);
}
public boolean inQueue(Object in)
{
//传入类型不符
if (!elementClass.getName().equals(in.getClass().getName())) return false;
queue.add(in);
inQueueEvent();
return true;
}
/**
*入队列时所触发的事件
*/
public void inQueueEvent() {}
public int length()
{
return queue.size();
}
public boolean outQueue()
{
if (queue.size() > 0){
queue.remove(0);
outQueueEvent();
return true;
}
return false;
}
/**
*出队列时所触发的事件
*/
public void outQueueEvent() {}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -