LinkedList:List接口的实现类,内部是链表数据结构,是不同步的。增删元素的速度很快。
使用LinkedList模拟一个堆栈或者队列数据结构。
堆栈:先进后出first in last out(FILO)
队列:先进先出first in first out(FIFO)
编写一个队列:
import java.util.LinkedList;
class Queue //先进先出
{
private LinkedList link;
Queue()
{
link=new LinkedList(); //初始化
}
public void myAdd(Object obj) //添加对象
{
link.addLast(obj);
}
public Object myGet() //取出对象
{
return link.removeFirst();
}
public boolean isNull() //判断有没有元素
{
return link.isEmpty();
}
}
public class LinkedTest{
public static void main(String[] args)
{
Queue q=new Queue();//创建一个队列对象
//添加元素
q.myAdd("abc1");
q.myAdd("abc2");
q.myAdd("abc3");
q.myAdd("abc4");
while(!q.isNull())
{
System.out.println(q.myGet());
}
}
}
运行结果:
同理:编写堆栈可以将myAdd方法修改为link.addFirst(obj) 或者 将myGet方法修改为return link.removeLast() 即可。