Java记录 -54- LinkedList实现栈
2015-11-01 21:32
351 查看
LinkedList实现栈简单描述:
提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例。由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现。
LinkedList实现栈代码:
提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例。由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现。
LinkedList实现栈代码:
package junit; import java.util.LinkedList; /** * 用LinkedList实现栈 * * 队列和栈区别:队列先进先出,栈先进后出。 * */ public class Stack<T> { private LinkedList<T> storage = new LinkedList<T>(); /** 入栈 */ public void push(T v) { storage.addFirst(v); } /** 出栈,但不删除 */ public T peek() { return storage.getFirst(); } /** 出栈,删除 */ public T pop() { return storage.removeFirst(); } /** 栈是否为空 */ public boolean empty() { return storage.isEmpty(); } /** 打印栈元素 */ public String toString() { return storage.toString(); } public static void main(String[] args) { Stack stack=new Stack<String>(); stack.push("a"); stack.push("b"); stack.push("c"); //[c, b, a] System.out.println(stack.toString()); //c--[c, b, a] Object obj=stack.peek(); System.out.println(obj+"--"+stack.toString()); obj=stack.pop(); //c--[b, a] System.out.println(obj+"--"+stack.toString()); //false System.out.println(stack.empty()); } }
相关文章推荐
- java实现日历显示
- Java记录 -53- LinkedList实现队列
- java的内省与反射
- java多线程之run() 与start() 区别
- Java中统计字符串中大写、小写字母以及非英文字母数的三种方法
- java中的插入排序实现
- Spring中bean的生命周期
- 浅谈Java中的System.out.println()
- java多线程之Thread与runnable的区别
- Quartz CronTrigger最完整配置说明
- java设计模式---享元模式
- Java读取图片分辨率
- java三大框架学习之路---Struts2_HelloWorld
- Java调用R(二)
- [LeetCode][Java]Find Median from Data Stream
- Java调用R(一)
- 疯狂java讲义4.2--浮点数转换成人民币读法
- 解决Java项目库文件困扰的两个eclipse插件
- Java反射机制与实例
- Java 接口回调