📅  最后修改于: 2023-12-03 15:42:23.384000             🧑  作者: Mango
队列和堆栈是两种常见的数据结构,常常用于实现许多计算机科学算法中。在Java中,可以使用Collections类中的Queue和Stack接口来实现这两种数据结构。
队列是一种FIFO(先进先出)的数据结构,类似于一列排队等候的人。Java中的Queue接口定义了许多方法,如add、offer、remove、poll、element和peek,可以用来实现队列。
Queue<String> queue = new LinkedList<>();
queue.add("a");
queue.add("b");
queue.add("c");
// 遍历队列
for (String s : queue) {
System.out.println(s);
}
// 输出队列头部元素,如果队列为空则返回null
String head = queue.poll();
System.out.println("队列头部元素:" + head);
// 输出队列头部元素,如果队列为空则抛出异常
String head2 = queue.element();
System.out.println("队列头部元素:" + head2);
堆栈是一种LIFO(后进先出)的数据结构,类似于一叠书。Java中的Stack类继承自Vector类,定义了许多方法,如push、pop、peek和empty,可以用来实现堆栈。
Stack<String> stack = new Stack<>();
stack.push("a");
stack.push("b");
stack.push("c");
// 遍历堆栈
for (int i = stack.size() - 1; i >= 0; i--) {
System.out.println(stack.get(i));
}
// 输出堆栈顶部元素,如果堆栈为空则抛出异常
String top = stack.peek();
System.out.println("堆栈顶部元素:" + top);
// 弹出堆栈顶部元素,如果堆栈为空则抛出异常
String pop = stack.pop();
System.out.println("弹出堆栈顶部元素:" + pop);
队列和堆栈是常见的数据结构,在Java中可以使用Queue和Stack接口来实现。队列是一种FIFO的数据结构,堆栈是一种LIFO的数据结构。通过上述代码片段可以轻松实现队列和堆栈的基本操作。