复习java7 集合的底层实现理解

1、ArrayList

特点:查询快,增删慢,可以重复,无序

实现:底层是用数组实现的,在添加数据的时候,当数组已经满了,会扩容,默认增加1.5倍的原数组长度,并将旧的数组数据拷贝到新的数组上。

2、LinkedList

特点:查询慢,增删快,可重复,有序

实现:底层实现双向列表的Node节点 记录上一个、下一个节点,还有当前值

3、TreeMap

特点:有序,不重复。

实现:使用Entry实现,记录左Entry 右Entry 父Entry,二叉树数据结构,每次添加的Entry先和根Entry比较,比它大的,就从他的右Entry开始,与之比较;比它小的则从他的左Entry开始比较,一直比较下去,直到和要比较的Entry的左或者右Entry为空时结束比较,并记录他的父Entry为该Entry,并给该父Entry设置左或右Entry。

4、TreeSet

底层是用TreeMap实现的

5、HashMap

特点:无序,不重复

实现:Node数组实现

6、HashTable

7、LinkedHashMap

posted @ 2016-11-14 19:28  Hong_Jerry  阅读(640)  评论(0编辑  收藏  举报