???? 作者:知识浅谈,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源码中的成员变量的解释,希望有所帮助。