黑马程序员技术交流社区

标题: 关于模拟栈或者队列 [打印本页]

作者: 吴飞飞    时间: 2015-4-2 21:53
标题: 关于模拟栈或者队列
package cn.itcast.listTest;
import java.util.LinkedList;
//我创建的一个类用于模仿 栈结构
public class MyStack {
        // 需要创建一个LinkedList来用于存储数据
        private LinkedList ll;
        // 在创建MyStack时,也将集合创建出来
        public MyStack() {
                ll = new LinkedList();
        }
        // 创建一个可以压栈的方法(添加)
        public void add(Object obj) {
                ll.addFirst(obj);
        }
        // 创建一个可以弹栈的方法(取出)
        public Object get() {
                return ll.removeFirst();
        }
        // 创建一个判断栈中是否有数据的方法
        public boolean isEmpty() {
                return ll.isEmpty();
        }

1、这个是今天老师讲的用LinkedList集合写出的模拟栈的类,我想知道怎么用main函数调用。
2、如果不用LinkedList集合,用其他的怎么模拟出栈(即创建出一个链接数据结构的集合)或者队列?


作者: 吴飞飞    时间: 2015-4-3 19:53
居然没有回答这个问题。。。。
作者: Werewolf_zl    时间: 2015-4-3 20:17
先在main方法里实例一个MyStack对象,再调用这个对象的MyStack()方法,再就可以调用这个对象的其他方法来进行添加和删除了
作者: Werewolf_zl    时间: 2015-4-3 20:25
第二个问题:
也可以用ArrayList,然后add方法里,调用ArrayList对象的add(obj)
get方法:
public Object get() {
                return ll.remove(ll.size()-1);
}
这样应该可以

不过ArrayList用来存取数据效率不如LinkedList




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