本文主要讲解“如何在Java集合框架中使用Stack Queue Deque”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习如何在Java集合框架中使用Stack Queue Deque。
目录
1.堆
1.1导言
1.2常用方法。
2.长队
2.1导言
2.2常用方法。
3.双端队列
3.1导言
3.2常用方法。
00-1010
1. Stack
Stack是Vector的一个子类,它实现了标准的后进先出堆栈。它的底部是一个数组。
只为堆栈定义了默认构造函数来创建空堆栈。除了Vector定义的所有方法之外,堆栈还定义了一些自己的方法。
00-1010方法描述E push(E项)push E pop()push E peek()查看栈顶元素,不删除boolean empty()判断栈是否为空。注意:下面的例子都是从一个代码中单独取出来的,它们之间是有逻辑关系的。
示例:使用Stack构造一个元素是塑料的堆栈。
stackkintegerstack=newStack();示例2:推送堆栈。
stack . push(1);
stack . push(2);
stack . push(3);
//结果是:[1,2,3]例3:检查栈顶元素,不删除。
system . out . println(stack . peek());
System.out.println(堆栈);
//结果为:3和[1,2,3]例4:叠加。
system . out . println(stack . pop());
System.out.println(堆栈);
//结果为:3和[1,2]例5:判断堆栈是否为空。
system . out . println(stack . empty());
//结果是:false
1.1 介绍
1.2 常见方法
Queue是一个特殊的线性表,只允许在表的前端删除,表的后端插入。
LinkedList类实现了Queue接口,所以我们可以使用LinkedList作为Queue。
00-1010方法描述布尔offer(E e)进入队列(出错时返回特殊值)布尔add(E e e)进入队列(出错时抛出异常)E poll()退出队列(出错时返回特殊值)E remove()退出队列(出错时抛出异常)epeck()获取队列头。
元素,不删除(出现错误返回特殊值)
E element()
boolean isEmpty()
注意: 接下来使用 LinkedList 演示队列的使用方法,只要把握先进先出的原则就行。下面的示例都是一份代码分开拿出来的,上下其实是有逻辑关系的
示例一: 使用 LinkedList 创建一个元素为整型的队列
LinkedList<Integer> linkedList = new LinkedList<>();
示例二: 入队列
linkedList.offer(1); linkedList.offer(2); linkedList.offer(3);
示例三: 出队列
System.out.println(linkedList.poll()); // 结果为:1
示例四: 得到队首元素,不删除
System.out.println(linkedList.peek()); // 结果为:2
示例五: 判断队列是否为空
System.out.println(linkedList.isEmpty()); // 结果为:false
3. Deque
3.1 介绍
双端队列是指允许两端都可以进行入队和出队操作的队列。元素可以从队头出队和入队,也可以从队尾出队和入队
LinkedList 类实现了 Deque 接口,因此我们可以把 LinkedList 当成 Deque 来用。
3.2 常见方法
方法 | 描述 |
---|---|
boolean offerFirst(E e) |
从队头入队 |
boolean offerLast(E e) |
从队尾入队 |
E pollFirst() |
从队头出队 |
E pollLast() |
从队尾出队 |
E peekFirst() |
得到队头元素,不删除 |
E peekLast() |
得到队尾元素,不删除 |
注意: 接下来使用 LinkedList 演示队列的使用方法,只要把握先进先出的原则就行。下面的示例都是一份代码分开拿出来的,上下其实是有逻辑关系的
示例一: 使用 LinkedList 创建一个元素为整型的队列
LinkedList<Integer> linkedList = new LinkedList<>();
示例二: 从队头入队
linkedList.offerFirst(1); linkedList.offerFirst(2); linkedList.offerFirst(3); // 队列为:[3, 2, 1]
示例三: 从队尾入队
linkedList.offerLast(7); linkedList.offerLast(8); linkedList.offerLast(9); // 队列为:[3, 2, 1, 7, 8, 9]
示例四: 从队头出队
System.out.println(linkedList.pollFirst()); // 结果为:3
示例五: 从队尾出队
System.out.println(linkedList.pollLast()); // 结果为:9
示例六: 得到队头元素,不删除
System.out.println(linkedList.peekFirst()); // 结果为:2
示例七: 得到队头元素,不删除
System.out.println(linkedList.peekLast()); // 结果为:8
到此,相信大家对“Java集合框架之如何使用Stack Queue Deque”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/47497.html