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

一、ArrayList数组

特色:查询快,增删慢,能够重复,无序数据结构

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

二、LinkedList二叉树

特色:查询慢,增删快,可重复,有序数据

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

三、TreeMap底层

特色:有序,不重复。ab

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

四、TreeSet

底层是用TreeMap实现的

五、HashMap

特色:无序,不重复

实现:Node数组实现

六、HashTable

七、LinkedHashMap

相关文章
相关标签/搜索