LinkedList实现堆栈、队列

来源:互联网 发布:linux 限制访问目录 编辑:程序博客网 时间:2024/04/19 13:13

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 */
0 0