Java:栈(Stack)和队列(Queue)的使用

时间:2021-10-03 14:56:24

Stack

1基本方法

1–>public Stack() 创建一个空堆栈

2–>public boolean empty() 测试堆栈是否为空;

3–>public E pop() 移除堆栈顶部的对象,并作为此函数的值返回该对象。

4–>public E push(E item) 把项压入堆栈顶部

5–>public E peek() 查看堆栈顶部的对象,但不从堆栈中移除它。

6–>public boolean empty() 测试堆栈是否为空

2顺序遍历

public class TestStack { 
public static void main(String[] args) {
Stack<Integer> s = new Stack<Integer>();
for (int i = 0; i < 10; i++) {
s.push(i);
}
//集合遍历方式
for (Integer x : s) {
System.out.println(x);
}
System.out.println("------1-----");


//栈弹出遍历方式
//while (s.peek()!=null) {
//不健壮的判断方式,容易抛异常,正确写法是下面的
while (!s.empty()) {
System.out.println(s.pop());
}
System.out.println("------2-----");
//错误的遍历方式
// for (Integer x : s) {
// System.out.println(s.pop());
// }
}
}

Queue

1–>add 增加一个元索,如果队列已满,则抛出一个
IIIegaISlabEepeplian异常
2–>remove 移除并返回队列头部的元素,如果队列为空,则抛出一个
NoSuchElementException异常
3–>element 返回队列头部的元素,如果队列为空,则抛出一个
NoSuchElementException异常

4–>offer 添加一个元素并返回true,如果队列已满,则返回false
5–>poll 移除并返问队列头部的元素,如果队列为空,则返回null
6–>peek 返回队列头部的元素, 如果队列为空,则返回null

7–>put 添加一个元素,如果队列满,则阻塞
8–>take 移除并返回队列头部的元素,如果队列为空,则阻塞