【数据结构_7】栈和队列(队列上篇)
一、队列
队列,也是针对线性表进行进行进一步的封装和限制,提供的操作有三个:入队列、出队列、取队首元素
队列作为一种数据结构,实际开发中的应用场景非常之多,远远多于栈。队列这样的数据结构,往往是针对“耗时比较长”的操作提供辅助操作,有些操作没办法一口气全部完成,所以需要将他们按照顺序,一个一个处理。为了确保处理的顺序不乱,就把待处理的数据放到队列之中。
队列的表示:Queue 是一个接口(interface) 接口不能创建实例,只能创建其他类来实现该接口,再通过整个类来实现接口中的抽象方法。
出入队列的操作都可能抛出异常,但是原则上来说,入队列一般不会失败,除非是插入的元素类型不匹配,传入null值之类的...
Deque是“双端队列”,两端都能进,两端都能出;Queue是“普通队列”,一头进,另一头出
虽然JAVA中不能 new ArrayList 作为Queue的实现的,但是其实队列也是完全可以基于数组实现。
二、Queue的一些基本操作
package Queue;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.Queue;
public class Test1 {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();//这个不会报错因为LinkedList实现了Queue接口
// Queue<Integer> queue1 = new ArrayList<>();
//这个会报错因为ArrayList没有实现Queue接口
queue.offer(1);
queue.offer(2);
queue.offer(3);
queue.offer(4);
System.out.println(queue.peek());
System.out.println(queue.poll());
System.out.println(queue.poll());
System.out.println(queue.poll());
System.out.println(queue.poll());
System.out.println(queue.remove());
}
}
原文地址:https://blog.csdn.net/purrrew/article/details/147216753
免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!