📜  队列和堆栈阅读器 - Java (1)

📅  最后修改于: 2023-12-03 15:42:23.384000             🧑  作者: Mango

队列和堆栈阅读器 - Java

队列和堆栈是两种常见的数据结构,常常用于实现许多计算机科学算法中。在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的数据结构。通过上述代码片段可以轻松实现队列和堆栈的基本操作。