队列与栈(Queue,Deque,Stack)
队列与栈(Queue,Deque,Stack)
队列(Queue)是一种特殊的线性表,是一种先进先出的数据结构,它只允许在表的前端进行删除操作,在表的后端进行插入操作,进行插入操作的端称为队尾,进行删除操作的端称为队头,队列中没有元素时,称为空队列,是一种先进先出的线性数据结构, LinkedList类实现了queue接口
private static void queue() {
Queue<String> queue = new LinkedList<>();
queue.add("小花");
queue.add("小小");
queue.add("小丽");
// 队列的长度
System.out.println(queue.size());
// 获取但不移除队列的头,队列为空,返回null
System.out.println(queue.peek());
System.out.println(queue.size());
// 获取并移除此队列的头,队列为空,返回null
System.out.println(queue.poll());
System.out.println(queue.size());
}
Deque:一个线性的collecton,支持在两端插入和移除元素。此接口既支持有容量限制的双端队列,也支持没有固定大小的双端队列,接口定义在双端队列两端访问元素的方法,提供插入、移除、删除和检查元素的方法,是一个双端队列
private static void deque() {
Deque<String> deque = new LinkedList<>();
deque.add("小花");
deque.add("小小");
deque.add("小丽");
// 可以从两边来取
System.out.println(deque.getFirst());
System.out.println(deque.getLast());
}
Stack类代表先进后出的堆栈
private static void stack() {
Stack<String> s = new Stack<>();
s.push("bin");
s.push("tom");
s.push("lili");
// 不移除
System.out.println(s.peek());
//移除
System.out.println(s.pop());
System.out.println(s.pop());
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!