返回首页

Deque,AbstractQueue和PriorityQueue源代码阅读笔记 - chandlersong

时间:2012-02-09 23:07来源:CTO51 作者:admin 点击:
  

Deque:

1,语义上多了几个用于栈的方法,pop和push。

2,降序迭代器,descendingIterator

 

AbstractQueue:

1,其实就是实现了几个仍Exception的方法,都是通过调用那些非Exception方法实现的。addAll如果传入自己会抛错。然后就是clear的方法写的。很有个性。不过不推荐那么写。复杂的逻辑,最好加上括号。不然会引起歧义。

 

PriorityQueue:

1, 其容器是一个object的数组。简单的说,就是一种数据结构“堆”。其本质是一种二叉树。父亲为n。儿子分别是2(n+1)和2n+1

 

2, 数组queue的默认长度是11。

 

3,构造函数,参数为Collection的那个,会判断一下,参数是不是SortSet或者PriorityQueue。其实就是取了他们的comparator。换句话说。如果你自己构建一个有序的集合类。要转换成PriorityQueue的话,也就不能获得其comparator

 

4,没有public的enableCapacity的方法,倒是有一个类似功能的grow方法,换句话说。如果数据量比较大的话。最好初始的量大一点。而这个量,要看的是层数。不过也不要不要太大。最好有计算。因为要多,就是多一层。层数高了之后,很恐怖

 

5, add就是堆的寻找合适位置。算法水平不够。看得不是很懂。

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
发布者资料
小朱 查看详细资料 发送留言 加为好友 用户等级:超级会员 注册时间:2008-11-18 17:11 最后登录:2012-02-09 23:02
推荐内容
热点内容