LinkedList
*特点:能够精确对元素控制(围绕index)
*可实现堆栈、队列
*该实现类特有的方法围绕First和Last
addFirst();
addLast();
getFirst();//获取头部元素
getLast();
removeFirst();//获取头部元素,并且删除头部元素
removeLast();
任务:用LinkedList 模拟一个堆栈或队列数据结构。
思路:创建一个堆栈或队列,该对象用LinkedList来完成。
import java.util.LinkedList;
public class LinkedListTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Queue queue = new Queue();
queue.myAdd("itcast1");
queue.myAdd("itcast2");
queue.myAdd("itcast3");
while (!queue.isNull()) {
System.out.println(queue.myGet());
}
}
}
class Queue {
// 封装了一个链表数据结构
private LinkedList link;
// 初始化时,对链表对象初始化
Queue() {
link = new LinkedList();
}
public void myAdd(Object obj) {
// 内部使用的就是链表的方法。
link.addFirst(obj);
}
// 队列的获取方法
public Object myGet() {
return link.removeLast();// 如果都是First都是堆栈,如果相反就是队列
}
// 判断队列中元素是否存为空,没有元素就为真
public boolean isNull() {
return link.isEmpty();// 返回ture
}
}
/*
* 编译结果 itcast1 itcast2 itcast3
*/