码迷,mamicode.com
首页 > 其他好文 > 详细

用LinkedList方法模拟栈的数据结构

时间:2017-09-30 21:51:57      阅读:317      评论:0      收藏:0      [点我收藏+]

标签:构造   bsp   意思   创建   add   将不   模拟   return   存在   

import java.util.LinkedList;

/**
*
* @author Ginfer
* @virsion
* HP
* linkedlist
* HP
* 自定义栈集合
* 栈的数据结构是先进后出,
*/

public class MyStack {
//创建一个成员对象
private LinkedList link;

//添加一个构造方法,并默认new一个LinkedList对象
//当创建MyStack对象的时候其实默认是在底层创建了一个LinkedList对象
public MyStack() {
link=new LinkedList();
}
//调用栈的压栈,其实就是调用了LinkedList的addFirst()方法
public void add(Object obj){
link.addFirst(obj);
}
//调用栈的弹栈,其实就是调用了LinkedList的removeFirst()方法,弹栈以后数据将不存在栈中,所以用remove
public Object get(){
//return link.getFirst();
return link.removeFirst();
}
//需要判断栈中是否为空,所以就调用了LinkedList的isEmpty()方法来判断
public boolean isEmpty(){
return link.isEmpty();
}

}

 

 

import java.util.Iterator;
import java.util.LinkedList;
import Test.MyStack;
/**
*
* @author Ginfer
* @virsion
* HP
* Linkedlist
* HP
*
* 使用Linklist模拟栈数据结构的集合,并测试
* 意思是自己定义一个集合类,在这个集合内部可以使用LinkedList模拟
*
*/

public class TestLinklist {

public static void main(String[] args) {

/*
* myStack测试
*/
MyStack ms=new MyStack();
ms.add("asd");
ms.add("qwe");
ms.add("zxc");

while (!ms.isEmpty()){
System.out.println(ms.get());
}

}

}

用LinkedList方法模拟栈的数据结构

标签:构造   bsp   意思   创建   add   将不   模拟   return   存在   

原文地址:http://www.cnblogs.com/Flyrun/p/7616118.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!