集合总结

Java集合,不再使用过多的文字描述,为了更加清晰的展示集合之间的关系,本文使用一张导图阐述整个集合,之后会针对几个类似的类,进行对比说明:
在这里插入图片描述
1、集合接口有哪些,主要包含哪些实现类
Collection:ArrayList,LinkedList,Vector,HashSet,TreeSet,LinkedHashSet,Queue
Map:HashMap,WeekHashMap,TreeMap,ConcurrentHashMap,HashTable

2、ArrayList和Vector的区别
1)Vector使用了Synchronized关键字,是线程安全的,ArrayList是线程不安全的。
2)Vector扩容时2n,ArrayList是1.5n+1

3、ArrayList和LinkedList的区别
1)ArrayList底层为数组,LinkedList为双向链表
2)ArrayList在查找效率更高,而LinkedList在增删效率高

4、ConcurrentHashMap与HashTable的区别
ConcurrentHashMap本身的数据结构与hashMap大致一致,但是引入了分段锁,将锁住某一个segment,而HashTable锁住的是整个结构

5、HashMap与HashTable的区别
1)HashMap是线程不安全的,HashTable是线程安全的
2)HashMap的key和value可为null,HashTable都不可为null

6、关于HashMap的问题,请参考上一篇博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值