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