java集合存储结构特点,继承关系,存储过程

 各类对比

集合类存储结构存储过程判断依据特点遍历
ArrayList数组如果没有向集合中添加任何元素时,容量0,添加一个元素之后,容量10,每次扩容大小时原来的1.5倍。 有序

下标

迭代器

增强for

Vector数组  有序、线程安全
LinkedList双向链表添加新元素会创建一个Node,将其插入到双向链表中 删除、添加效率高、查找效率低
HashSet数组+链表+红黑树根据hashcode计算存储的位置,如果该位置为空,则直接保存,如果该位置不为空,执行equals方法,判断要存入的元素与本来存在的元素是否相等,若为true认为是重复,否则形成或插入链表hashcode和equals方法无序、不能重复、无下标 
TreeSet红黑树

就是TreeMap将value设置为null,值的集合

compareTo方法
HashMap数组+链表+红黑树

(1)HashMap刚创建时,table是null,为了节省空间,当添加第一个元素时,table容量调整为16

(2)当元素个数大于阈值16*0.75=12时,会进行扩容,扩容后的大小为原来的2倍,目的是减少调整元素的个数

(3)jdk1.8当每个链表长度大于8,并且数组元素个数大于64时,会调整为红黑树,目的提高执行效率

(4)jdk1.8 当链表长度小于6时,调整成链表

(5)jdk1.8之前,链表是头插入,jdk1.8以后是尾查入

hashcode和equals方法无序、无下标、键不可以重复,值可以重复

entrySet()

keyset()

增强for

TreeMap红黑树

基于排列顺序实现元素不重复

实现了SortedSet接口,对集合元素自动排序

元素对象的类型必须实现Comparable接口,指定排序规则

通过CompareTo方法确定是否为重复元素

compareTo方法

体系结构图

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值