PriorityQueue 源码 - 成员变量解析
🍁 作者:知识浅谈,CSDN 博客专家,阿里云签约博主,InfoQ 签约博主,华为云云享专家
📌 擅长领域:全栈工程师、爬虫、ACM 算法
💒 公众号:知识浅谈
PriorityQueue 源码-成员变量解析总结正菜来了⛳⛳⛳
🎈PriorityQueue 整体结构
🎈PriorityQueue 中变量方法
🍮serialVersionUID 序列化标识
含义:这个变量的含义是表示不同的类,类经过序列化的时候也会带着这个变量,序列化后的内容反序列化之后会反序列化一个 serialVersionUID,如果这个 serialVersionUID 和类中的 serialVersionUID 相同,表示反序列化的是对的。
🍮DEFAULT_INITIAL_CAPACITY
含义:这个变量的含义是默认的最初值的大小,优先队列的最初值是 11.
🍮transient Object[] queue;
含义:优先级队列表示为平衡二叉堆:queue[n] 的两个孩子是 queue[2n+1] 和 queue[2(n+1)]。
优先级队列按比较器排序,如果比较器为空,则按元素的自然顺序排序:对于堆中的每个节点 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 源码中的成员变量的解释,希望有所帮助。
版权声明: 本文为 InfoQ 作者【知识浅谈】的原创文章。
原文链接:【http://xie.infoq.cn/article/ee3baffabf8b646d5f24802a7】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论