“栈”通常是指“后进先出”(LIFO)的容器。有时栈也被称为叠加栈,因为最后压入栈的元素第一个弹出栈。

LinkedList具有能够实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用。

示例代码:

package com.trs.collection;

import java.util.LinkedList;

/**
 * LinkedList具有能够实现栈的所有功能的方法,因此可以直接将LinkedList作为栈使用
 * @author xiayunan
 * @date   2018年7月8日
 * @param <T>
 *
 */
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();
	}
	
}
package com.trs.collection;

/**
 * Java栈的使用示例--后进先出
 * @author xiayunan
 * @date   2018年7月8日
 *
 */
public class StackTest {
	public static void main(String[] args) {
		Stack<String> stack = new Stack<String>();
		for(String s:"五 千 年 的 风 和 雨 啊 藏 了 多 少 梦".split(" ")){
			stack.push(s);
		}
		while(!stack.empty()){
			System.out.print(stack.pop()+" ");
		}
	}
}

运行结果:



Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐