读书人

java聚合学习

发布时间: 2012-09-02 21:00:34 作者: rapoo

java集合学习

?

1 hashmap当转载因子大于0.75时,会重新散列。hashmap是一个列表数组,每个数组元素是一个列表。

2 树集的底层实现是红黑树,插入、读取都是有序的。可以通过Comparator函数对象,定义树集元素的顺序

3 优先级队列,底层采用堆实现,保证每次取出的都是最小的元素。但是他不像树集会对元素进行排序,他只保证把最小值放到堆顶。

4 weakhashmap,当键值对唯一的引用对象是map,那么会被垃圾回收掉

5 linkhashmap可以用来实现LRU高速缓存,他维护了元素的访问顺序。

6 collections.sort默认的算法是归并排序,因为它稳定,高效。稳定指,当排序字段一样的时候,排序后元素的相对位置不变,这是快速排序做不到的,另外快速排序有最坏的时间复杂度情况,n平方。sort还可能采用timsort,具体请看http://en.wikipedia.org/wiki/Timsort,这是一种更高效的混合排序算法

?

?

7 CopyOnWriteArrayLis

适用于并发下大量读,少量写的场景。每次写都会复制新列表,对新列表进行操作,再将新列表值赋给CopyOnWriteArrayList的主体引用。

http://yk94wo.blog.sohu.com/156365348.html

8 ArrayList中的modCount用于记录数据结构性修改次数,比如长度变化等。当迭代器进行迭代时通过检查这个值和迭代器创建时刻的值是否一致,来决定是否抛出异常ConcurrentModificationException快速失败。其他集合,处理方式类似

?

读书人网 >编程

热点推荐