黑马程序员技术交流社区

标题: 使用LinkList实现栈或者队列 [打印本页]

作者: kingmask    时间: 2016-4-27 22:56
标题: 使用LinkList实现栈或者队列
使用LinkList实现栈或者队列:
LinkList的底层是双向循环链表
要模拟栈:先进后出,可以在头部压入再从头部取出元素,即:addFirst()和removeFirst()配合使用
模拟队列:先进先出,可以在头部压入再尾部取出元素,即:addFirst()和removeLast()配合使用
package com.itheima;
import java.util.LinkedList;
public class LinkedList实现栈{
    public static void main(String[] args) {
        LinkedList2 lk2=new LinkedList2();
         lk2.add(new Student2("hello",23));
         lk2.add(new Student2("world",21));
         lk2.add(new Student2("new",22));
         lk2.add(new Student2("java",20));
         System.out.println("压入栈集合:"+lk2);
         //获取
         System.out.println(lk2.pop());
         System.out.println(lk2.pop());
         System.out.println(lk2.pop());
         System.out.println(lk2.pop());
    }
}
class LinkedList2 {
     //使用静态成员保存此时遍历的位置
    private static int index;
    private LinkedList link;
    public LinkedList2() {
        link = new LinkedList();
    }
    //进栈
    public void add(Object stu) {
        link.addFirst(stu);
    }
    //出栈
    public Object pop(){
        return link.removeFirst();
    }
    public int size() {
        return link.size();
    }
}







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2