当前位置:   article > 正文

Java集合框架(PriorityQueue优先级队列讲解)_priorityqueue java

priorityqueue java

前言:

Java集合框架中提供了PriorityQueue和PriorityBlockingQueue两种类型的优先级队列,PriorityQueue是线程不安全的,PriorityBlockingQueue是线程安全的,本文主要介绍PriorityQueue
 

 priorityQueue在Java集合框架中的关系如下:

一、使用PriorityQueue的注意点

 

 1. 使用时必须导入PriorityQueue所在的包,即:

import java.util.PriorityQueue


2. PriorityQueue中放置的元素必须要能够比较大小,不能插入无法比较大小的对象,否则会抛出
ClassCastException异常


3. 不能插入null对象,否则会抛出NullPointerException


4. 没有容量限制,可以插入任意多个元素,其内部可以自动扩容


5. 插入和删除元素的时间复杂度为log以2为底的n


6. PriorityQueue底层使用了堆数据结构


7. PriorityQueue默认情况下是小堆---即每次获取到的元素都是最小的元素(想要变成大堆,需要我们重新比较方法、默认的比较方法是Comparable接口中的compareTo方法)


 

 二、PriorityQueue常用接口介绍


1. 优先级队列的构造


本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/355107

推荐阅读
相关标签