栈和队列--温故而知新~



Throws exception Returns special value
Insert add(e) offer(e)
Remove remove() poll()
Examine element() peek()





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]

你可能感兴趣的:(栈和队列--温故而知新~)