1. Stack
1.1 介绍
Stack 栈是 Vector 的一个子类,它实现了一个标准的后进先出的栈。它的底层是一个数组。
堆栈只定义了默认构造函数,用来创建一个空栈。堆栈除了包括由 Vector 定义的所有方法,也定义了自己的一些方法。
1.2 常见方法
方法 | 描述 |
---|---|
E push(E item) |
压栈 |
E pop() |
出栈 |
E peek() |
查看栈顶元素,不删除 |
boolean empty() |
判断栈是否为空 |
注意: 下面的示例都是一份代码分开拿出来的,上下其实是有逻辑关系的
示例一: 用 Stack 构造一个元素为整形的栈
Stack<Integer> stack = new Stack<>();
示例二: 压栈
stack.push(1); stack.push(2); stack.push(3); // 结果为:[1, 2, 3]
示例三: 查看栈顶元素不删除
System.out.println(stack.peek()); System.out.println(stack); // 结果为:3 和 [1, 2, 3]
示例四: 出栈
System.out.println(stack.pop()); System.out.println(stack); // <b style="color:transparent">本文来源gao@!dai!ma.com搞$$代^@码!网!</b>结果为:3 和 [1, 2]
示例五: 判断栈是否为空
System.out.println(stack.empty()); // 结果为:false
2. Queue
2.1 介绍
Queue 队列是一种特殊的线性表,它只允许在表的前端进行删除操作,而在表的后端进行插入操作。
LinkedList 类实现了 Queue 接口,因此我们可以把 LinkedList 当成 Queue 来用。
2.2 常见方法
方法 | 描述 |
---|---|
boolean offer(E e) |
入队列(出现错误返回特殊值) |
boolean add(E e) |
入队列(出现错误抛异常) |
E poll() |
出队列(出现错误返回特殊值) |
E remove() |
出队列(出现错误抛异常) |
E peek() |
得到队首元素,不删除(出现错误返回特殊值) |
E element() |
得到队首元素,不删除(出现错误抛异常) |
boolean isEmpty() |
判断队列是否为空 |