Java堆栈队列
一、LinkedList实现堆栈
import java.util.LinkedList;
/**
* <p>Title: StackTest</p>
* <p>Description: 堆栈测试</p>
*/
public class StackTest {
/**
* 主函数
* <p>Title: main</p>
* <p>Description: 主函数</p>
* @param args
*/
public static void main(String[] args) {
Stack stack = new Stack();
stack.add("abc1");
stack.add("abc2");
stack.add("abc3");
stack.add("abc4");
while (!stack.isNull()) {
System.out.println(stack.get());
}
}
}
/**
* 堆栈
* <p>Title: Stack</p>
* <p>Description: 堆栈</p>
*/
class Stack {
private LinkedList<Object> stack;
public Stack() {
stack = new LinkedList<Object>();
}
public void add(Object obj) {
stack.offerFirst(obj);
}
public Object get() {
return stack.pollFirst();
}
public boolean isNull() {
return stack.isEmpty();
}
}
二、LinkedList实现队列
import java.util.LinkedList;
/**
* <p>Title: QueueTest</p>
* <p>Description: </p>
*/
public class QueueTest {
/**
* 主函数
* <p>Title: main</p>
* <p>Description: 主函数</p>
* @param args
*/
public static void main(String[] args) {
Queue queue = new Queue();
queue.add("abc1");
queue.add("abc2");
queue.add("abc3");
queue.add("abc4");
while (!queue.isNull()) {
System.out.println(queue.get());
}
}
}
/**
* 队列
* <p>Title: Stack</p>
* <p>Description: 队列</p>
*/
class Queue {
private LinkedList<Object> stack;
public Queue() {
stack = new LinkedList<Object>();
}
public void add(Object obj) {
stack.offerFirst(obj);
}
public Object get() {
return stack.pollLast();
}
public boolean isNull() {
return stack.isEmpty();
}
}