您的位置:首页 > 编程语言 > Java开发

Java记录 -54- LinkedList实现栈

2015-11-01 21:32 351 查看
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());
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: