集合之间区别

ArrayList
默认初始容量10 加载因子 1 扩容1.5倍
底层数据结构是数组结构
线程不安全,效率高

Vector
默认初始容量10 加载因子1 扩容2倍
底层数据结构是数组结构
线程安全,效率低
若有设置的初始容量使用设置的初始容量。

HashSet
初始容量是16(2的n次方) 加载因子0.75 扩容2倍
底层实现是一个HashMap(保存数据),实现Set接口
若有设置初始容量,则使用大于此初始容量的2的幂。
TreeSet
底层结构是TreeMap (红黑树–2叉树中的一种)
TreeSet线程不安全,性能不如HashSet
但是有序(String自然顺序,不是插入顺序),不可重复
插入元素如果为非基本类型则需要可比性(Comparable)

HashMap
默认初始容量是16(2的n次方) 加载因子0.75 扩容2倍
若有设置初始容量,则使用大于此初始容量的最小2的幂。
线程不安全,效率高
支持key跟value为null
HashTable
默认初始容量为11,加载因子为0.75 扩容2倍+1
线程安全,效率低
若有设置初始容量,则使用此值。
不支持key跟value为null
TreeMap
底层结构是红黑树(2叉树中的一种)
TreeMap线程不安全, 有序(String自然顺序(定制顺序),不是插入顺序)
插入元素如果为非基本类型则需要可比性(Comparable)
key不能为null,值可以为null
Set 无序,不可重复的
List 有序,可重复的
在这里插入图片描述List、Set、Map的区别和关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值