海淀网站建设多少钱,网站建设需要哪些硬件,青海做网站找谁,网络小说排行榜一、栈#xff08;Stack#xff09;#xff1a;
栈是一种后进先出#xff08;LIFO#xff0c;Last In First Out#xff09;的数据结构#xff0c;类似于现实生活中的一叠盘子#xff0c;最后放入的盘子最先被取出。
主要方法和特点#xff1a;
push(E e): 将元素推…一、栈Stack
栈是一种后进先出LIFOLast In First Out的数据结构类似于现实生活中的一叠盘子最后放入的盘子最先被取出。
主要方法和特点
push(E e): 将元素推入栈顶。pop(): 弹出栈顶元素并返回。peek(): 返回但不删除栈顶元素。isEmpty(): 判断栈是否为空。search(Object o): 查找指定元素在栈中的位置如果存在返回位置从1开始不存在返回-1。
栈的常见应用包括函数调用的管理、表达式求值、浏览器的历史记录等。
示例代码
import java.util.Stack;public class Main {public static void main(String[] args) {StackInteger stack new Stack();stack.push(1);stack.push(2);stack.push(3);System.out.println(Top element: stack.peek()); // Output: 3while (!stack.isEmpty()) {System.out.println(stack.pop());}}
}二、队列Queue
队列是一种先进先出FIFOFirst In First Out的数据结构类似于排队购物时先来的人先付款后来的人后付款。
主要方法和特点
offer(E e): 将元素添加到队列末尾。poll(): 移除并返回队列头部的元素。peek(): 返回但不移除队列头部的元素。isEmpty(): 判断队列是否为空。size(): 返回队列中的元素个数。
队列的常见应用包括任务调度、消息传递、广度优先搜索BFS等。
示例代码
import java.util.LinkedList;
import java.util.Queue;public class Main {public static void main(String[] args) {QueueInteger queue new LinkedList();queue.offer(1);queue.offer(2);queue.offer(3);System.out.println(First element: queue.peek()); // Output: 1while (!queue.isEmpty()) {System.out.println(queue.poll());}}
}三、Java中的栈和队列
在Java中栈和队列都有现成的实现类。常用的栈实现类是 java.util.Stack而常用的队列实现类是 java.util.Queue 接口的各种实现比如 java.util.LinkedList、java.util.ArrayDeque 等。