java linkedlist 栈_Java记录 -54- LinkedList实现栈

LinkedList实现栈简单描述:

提供一组栈的接口,其底层关联到一个LinkedList(双端队列)实例。由于只暴露部分基于栈实现的接口,所以可以提供安全的栈实现。

LinkedList实现栈代码:package junit;

import java.util.LinkedList;

/**

* 用LinkedList实现栈

*

* 队列和栈区别:队列先进先出,栈先进后出。

*

*/

public class Stack {

private LinkedList storage = new LinkedList();

/** 入栈 */

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();

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,linkedlist,栈)