package com.ipmotor.sm.db;
import java.util.LinkedList;
import java.util.Queue;
import java.util.Stack;
/**
* 測試jdk中的棧和隊列
* @author scott
*
*/
public class TestQueueAndStack {
/**
* 測試隊列
* <pre>
* 隊列特點,先進先出,后進后出,火車過山洞例子
* </pre>
*/
static void testQueue(){
Queue<String> queue=new LinkedList<String>();
//添加幾個元素
queue.offer("a");
queue.offer("b");
queue.offer("c");
queue.offer("d");
queue.offer("e");
queue.add("1");
queue.add("2");
queue.add("3");
queue.add("4");
queue.add("5");
System.out.println("隊列中的元素是:"+queue);
//彈出元素
queue.poll();
System.out.println("隊列中的元素是:"+queue);
//查看隊列中首個元素,并不移除
String peek=queue.peek();
System.out.println("查看隊列中首個元素,并不移除:"+peek);
System.out.println("隊列中的元素是:"+queue);
}
/**
* 測試棧
* <pre>
* 先進后出,后進先出,水桶倒水
* </pre>
*/
static void testStack(){
Stack<String> stack=new Stack<String>();
//添加幾個元素
stack.push("a");
stack.push("b");
stack.push("c");
stack.push("d");
stack.push("e");
stack.add("1");
stack.add("2");
stack.add("3");
stack.add("4");
stack.add("5");
System.out.println("棧中的元素是:"+stack);
//彈出元素
stack.pop();
System.out.println("棧中的元素是:"+stack);
//查看棧中首個元素,并不移除
String peek=stack.peek();
System.out.println("查看棧中首個元素,并不移除:"+peek);
System.out.println("棧中的元素是:"+stack);
}
/**
* @param args
*/
public static void main(String[] args) {
testQueue();
System.out.println("-------棧--------");
testStack();
}
}
隊列中的元素是:[a, b, c, d, e, 1, 2, 3, 4, 5]
隊列中的元素是:[b, c, d, e, 1, 2, 3, 4, 5]
查看隊列中首個元素,并不移除:b
隊列中的元素是:[b, c, d, e, 1, 2, 3, 4, 5]
-------棧--------
棧中的元素是:[a, b, c, d, e, 1, 2, 3, 4, 5]
棧中的元素是:[a, b, c, d, e, 1, 2, 3, 4]
查看棧中首個元素,并不移除:4
棧中的元素是:[a, b, c, d, e, 1, 2, 3, 4]