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());
}
}
}
----------------------------------------------因害怕失敗而不敢放手一搏,永遠不會成功。 ----------------------------------------------