Java中的容器 I————浅谈Queue和PriorityQueue
2024-08-20 08:22:22
一.Queue的实现
通过LinkedList类实现Queue接口来完成对Queue的实例类的实现,代码如下:
Queue<Integer> queue=new LinkedList<>();//linkedList实现了Queue接口,将其向上转型为队列
二.Queue的方法
1.offer————加入元素(加入至队尾)
queue.offer(2);//使用offer将元素插入队尾
2.remove,poll————返回头结点并删除元素
区别remove方法在队列为空时将抛出异常,而poll将返回null
queue.remove();//remove poll 返回头结点并移除 remove在空时抛出异常 但是poll返回null
3.element,peek ————返回头结点,不删除元素
区别element方法在队列为空时将抛出异常,而peek 将返回null
queue.peek();//删除头结点peek/element都是返回队头但是不移除队头,但是peek在没有元素时返回null element抛出异常
三.PriorityQueue队列(优先级队列)的实现
注意点:
在实现了comparator接口的类可以在PriorityQueue队列中调用offer方法实现排序
代码如下:
PriorityQueue<Integer> pque=new PriorityQueue<>();
pque.offer(6);//使用offer添加可以保证有序
pque.offer(0);
pque.offer(23);
pque.offer(1);
System.out.println(pque);//0 1 23 6
pque.add(3);//使用add方法无法排序
System.out.println(pque);//无须
(补充)
一.了解collection和iterator的关系
首先只有实现了iterator接口的才能使用foreach遍历(数组除外)。
collection是iterator接口的子接口
public interface Collection<E> extends Iterable<E> {
所以collection所有的子接口可以实现foreach遍历。
最新文章
- windows 中去除Ctrl+Alt+Del才能登录
- MIT 6.828 JOS学习笔记13 Exercise 1.10
- 【Linux】crontab 定时任务
- mysql索引的一些知识
- 【GOF23设计模式】组合模式
- 【BZOJ】1441: Min(裴蜀定理)
- hibernate配置之<;property name=";hbm2ddl.auto";>;create<;/property>;导致每次创建SessionFactory都清空数据库中的数据
- static,this,抽象类,接口和包
- ffmepg 指定RTSP网络连接模式UDP还是TCP
- mysql---多表关联
- CentOS查看CPU信息、位数、多核信息
- BZOJ1629: [Usaco2007 Demo]Cow Acrobats
- vb6源码后台点击任意窗口指定坐标XY位置,支持FLASH和一般的游戏
- python进程池剖析(二)
- BUG--tomcat更改目录失败
- python学习--Linux下dlib安装(主要是cmake和boost的安装)
- Sublime 、NotePad++中查找匹配中文字符
- 【ZJOI2016】线段树
- node.js安装全攻略
- pika的阻塞式使用