容易混淆的继承体系之集合框架

对于Java初学者来说,集合的继承体系容易混淆,今天源码时代老师特意整理如下,希望对Java初学者有所帮助!


 



Collection接口向下延伸,开发中常用两大类一:List

1ArrayList(底层数组)(线程不安全,同理效率高)

2Vector(底层数组)(线程安全,和ArrayList差不多,方法前多了个synchronize关键字

3LinkedList(底层链表)(线程不安全,同理效率高)

ArrayListLinkedList的比较:

ArrayList查询快,增加慢(因为底层是数组,查询根据下标就可以了)

LinkedList查询慢,增删快

二:Set

1HashSet(底层HashMap)(线程不安全,同理效率高)

2TreeSet(底层TreeMap)(线程不安全,同理效率高)

Set集合都是不允许重复的,因为底层是HashMapadd方法添加的时候实际上是Map添加的一个key



 

Map接口向下延伸,开发中常用又分为两大类

1HashMap(底层键值对:keyvalue)(线程不安全,同理效率高)(无序的)

2HashTable(底层键值对:keyvalue)(线程安全,同理效率低)(无序的)

3TreeMap(底层键值对:keyvalue)(线程不安全,同理效率高)(有序的)

HashMapHashTable的区别:

HashMap线程不安全,HashTable线程安全,同理效率高低,HashMapvalue允许为nullHashTableKeyValue都不允许为null

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值