【前言】
以前写代码总是用的jdk自带的工具类,如果要想明白底层是怎么实现的,必须得自己亲自写一个。
【过程】
用Java语言实现一个队列,符合先进先出的原则。代码如下:
/**
* Created by 郝雨烁 on 2019/9/23.
*/
public class Queue {
private Object[] data;
//队列头
private int front;
//队列尾
private int rear;
//队列大小
private int size;
public Queue(int size) {
this.size = size;
data = new Object[size];
}
/**
* 入队
* @param value
*/
public void in(Object value) throws Exception {
if(rear == size){
throw new Exception("队列已满异常");
}
data[rear ++] = value;
}
/**
* 出队
*/
public Object out() throws Exception {
if(isEmpty()){
throw new Exception("空队列异常");
}
Object value = data[front];
data[front++] = null;
return value;
}
/**
* 是否为空队列
* @return
*/
public boolean isEmpty(){
return front == rear;
}
/**
* 遍历队
*/
public void traverse(){
for(int i = front; i < rear; i++){
System.out.println(""+ data[i]);
}
}
}