转载于:http://blog.csdn.net/u012049667/article/details/17143947
看着编程思想第四版,爽的是里面的程序,当你理解到这个程序的牛逼之处时,就是你拍板叫好的那一刻,终于连追带赶看到了第十一章持有对象,被这扫描版伤透了眼。写完这个笔记,眼保健操是个好主意。
【队和栈特点实验】
- package com.jay.knowledge.queue_study;
-
- import java.util.ArrayList;
- import java.util.Iterator;
- import java.util.LinkedList;
- import java.util.Queue;
- import java.util.Stack;
-
-
-
-
-
-
- public class Queue001 {
- public static void main(String[] args) {
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Queue<String> queue = new LinkedList<String>();
- queue.offer("one");
- queue.offer("two");
- queue.offer("three");
- queue.offer("four");
- queue.offer("five");
- queue.offer("six");
- System.out.println("------进队顺序------------");
- System.out.println("one two three four five six");
- System.out.println("------出队顺序------------");
-
- System.out.print(" "+queue.poll());
- System.out.print(" "+queue.poll());
- System.out.print(" "+queue.poll());
- System.out.print(" "+queue.poll());
- System.out.print(" "+queue.poll());
- System.out.print(" "+queue.poll());
- System.out.println();
-
- Stack<String> stack = new Stack<String>();
-
- stack.push("one");
- stack.push("two");
- stack.push("three");
- stack.push("four");
- stack.push("five");
- stack.push("six");
- System.out.println("------进栈顺序------------");
- System.out.println("one two three four five six");
- System.out.println("------出栈顺序------------");
-
- System.out.print(" "+stack.pop());
- System.out.print(" "+stack.pop());
- System.out.print(" "+stack.pop());
- System.out.print(" "+stack.pop());
- System.out.print(" "+stack.pop());
- System.out.print(" "+stack.pop());
- }
- }
【运行结果】
------进队顺序------------
one two three four five six
------出队顺序------------
one two three four five six
------进栈顺序------------
one two three four five six
------出栈顺序------------
six five four three two one
【方法说明】
1.栈(Stack):
①peek():只取出栈顶值,但不会对栈进行操作,如果不断去做操作,最后的得到的值是相同,此值是最后进去的值。
②push(T):向栈中添加值。
③pop():出栈,并操作栈,取出后进去的值,并删除,然后移动指针。
2.队列(Queue)
①peek():只取出队列中的值,不会对栈进行操作,如果不断去做操作,最后的得到的值是相同,此值是最先进去的值。
②offer(T):向队列中添加值。
③poll():出队列,并操作队列,取出先进队列的值,并删除,然后移动指针。