LinkedList采用的将对象存放在独立的空间中,而且在每个空间中还保存下一个链接的索引,但是缺点就是查找非常麻烦,要丛第一个索引开始。
使用LinkedList实现堆栈
堆栈:是一种先进后出的数据结构(容器),就像弹夹一样。
package test;
import java.util.LinkedList;
public class d1 {
private LinkedList linkedList=new LinkedList();
//压栈
public void push(Object value){//压
linkedList.addFirst(value);
}
//出栈
public Object pop(){//弹
Object value=linkedList.getFirst();
linkedList.removeFirst();
return value;
}
//容器大小
public int size(){
return linkedList.size();
}
public static void main(String[] args) {
d1 d1=new d1();
d1.push("12");
d1.push("13");
d1.push("14");
d1.push("15");
while(d1.size()!=0){
System.out.println(d1.pop());
}
}
}
使用LinkedList实现队列
队列:先进先出,当多个任务分配给打印机时,为了防止冲突,创建一个队列,把任务入队,按先入先出的原则处理任务。当多个用户要访问远程服务端的文件时,也用到队列,满足先来先服务的原则。
package test;
import java.util.LinkedList;
public class d2 {
private LinkedList<Object> link;
public d2(){
link = new LinkedList();
}
public void myAdd(Object obj){
link.addFirst(obj);
}
public Object myGet(){
return link.removeLast();
}
public boolean isNull(){
return link.isEmpty();
}
public static void main(String[] args)
{
d2 d2 = new d2();
d2.myAdd("Java01");
d2.myAdd("Java02");
d2.myAdd("Java03");
d2.myAdd("Java04");
// System.out.println(dl.myGet());
System.out.println("============");
while (!d2.isNull())
{
System.out.println(d2.myGet());
}
}
}
----------------------------------------------因害怕失败而不敢放手一搏,永远不会成功。 ----------------------------------------------