PriorityQueue源码-成员变量解析

时间:2022-10-14 13:57:24

PriorityQueue源码-成员变量解析

???? 作者:知识浅谈,CSDN博客专家,阿里云签约博主,InfoQ签约博主,华为云云享专家

???? 擅长领域:全栈工程师、爬虫、ACM算法

???? 公众号:知识浅谈

PriorityQueue源码-成员变量解析总结 正菜来了⛳⛳⛳

????PriorityQueue整体结构

PriorityQueue源码-成员变量解析

????PriorityQueue中变量方法

????serialVersionUID序列化标识

含义:这个变量的含义是表示不同的类,类经过序列化的时候也会带着这个变量,序列化后的内容反序列化之后会反序列化一个serialVersionUID,如果这个serialVersionUID和类中的serialVersionUID相同,表示反序列化的是对的。

????DEFAULT_INITIAL_CAPACITY

含义:这个变量的含义是默认的最初值的大小,优先队列的最初值是11.

private static final int DEFAULT_INITIAL_CAPACITY = 11;

????transient Object[] queue;

  1. 含义:优先级队列表示为平衡二叉堆:queue[n] 的两个孩子是 queue[2n+1] 和 queue[2(n+1)]。
  2. 优先级队列按比较器排序,如果比较器为空,则按元素的自然顺序排序:对于堆中的每个节点 n 和 n 的每个后代 d,n <= d。具有最低值的元素在 queue[0] 中,假设队列是非空的。

????size

含义:这个数量表示优先队列中元素的个数。

????comparator

含义:定义一个迭代器,比较器,如果优先级队列使用元素的自然顺序,则为 null。

????modCount

含义:此优先级队列在结构上被修改的次数,这个常常用在对于修改的集合判断上,就是当对某一个集合元素修改的时候,会修改modCount这个值,用来表示修改的次数。

????MAX_ARRAY_SIZE

private static final int MAX_ARRAY_SIZE = Integer.MAX_VALUE - 8; 这个变量在List中也有,表示队列数组最大的容量的大小

????总结

以上是关于PriorityQueue源码中的成员变量的解释,希望有所帮助。