(一)Stack栈
- 栈 通常是指“后进先出”(LIFO)的容器
- 栈 中常用的一些方法
方法 | 作用 |
---|---|
push(E e) | 压栈 |
peek() | 返回栈顶元素 |
pop() | 出栈 |
举例1:
package www.fanfan.com;
import java.util.Stack;
public class StackDemo {
public static void main(String[] args) {
Stack<String> stack = new Stack<String>();
//1. 压栈
stack.push("hello");
stack.push("world");
stack.push("!!!");
//2. 返回栈顶元素
System.out.println("返回栈顶元素:"+stack.peek());
//3. 出栈
//出栈之前判断栈是否为空,栈为空时出栈就会产生异常
while (!stack.isEmpty()){
System.out.println(stack.pop());
System.out.println(stack.pop());
System.out.println(stack.pop());
}
}
}
(二)Queue队列
- 队列是一个典型的先进先出(FIFO)的容器。从容器的一端放入事物,从容器额度另一端取出。事物放入容器的顺序与取出的顺序是相同的。
- LinkedList提供了方法支持队列的行为,并且它实现了Queue接口。
- Queue中常用的方法
方法 | 作用 |
---|---|
add(E e) | 向队列中添加元素 |
peek() | 返回队列中的第一个元素但是不移除 |
poll() | 返回队列中的第一个元素并删除 |
举例2:
package www.fanfan.com;
import java.util.LinkedList;
import java.util.Queue;
public class QueueTest {
public static void main(String[] args) {
Queue<String> queue = new LinkedList<String>();
//1. 向队列中添加元素
queue.add("a");
queue.add("b");
queue.add("c");
//2. 返回队列中的第一个元素但不移除
System.out.println("当前队列的第一个元素:"+queue.peek());
//3. 返回队列中的第一个元素并移除
System.out.println(queue.poll());
System.out.println(queue.poll());
System.out.println(queue.poll());
}
}