java集合总集<常用大总结>

Java集合中List,Set以及Map等集合体系详解

在这里插入图片描述

Collection

List
  • ArrayList

底层为数组结构(增添快查询慢),允许元素重复和为null值,线程不安全,默认容量为10 扩容时存储空间是原长的1.5倍

  • Vector

底层为数组结构,允许元素重复和为null值,相对于ArrayList来说线程安全(vector给每个API都套上了synchronized),扩容时是原长的2倍

  • LinkedList

底层为链表结构(查询快增添慢),线程不安全

set
  • HashSet

底层结构哈希表,无序唯一,set的hash实现 ,值不重复(hashmap的key实现)使用hsahCode()和equals()实现唯一性

  • TreeSet

底层结构红黑树,有序唯一,自然排序与比较器排序保证有序,哈希表保证唯一

  • LinkedSet

底层是链表和哈希表结合,有序唯一,

在这里插入图片描述

Map

  • TreeMap

底层结构红黑树 有序,实现Cloneable接口可被实现,支持序列化,继承AbstractMap

  • HashMap

底层哈希表,无序,效率高,允许null值(key仅允许一个,value无限制),父类为Dictionary,默认长度为16,扩容时为原数组的2倍,最大长度为2的30次方

  • Hashtable

无序,相对hashMap来说线程安全(除构造函数外,所有public方法声明中都有synchronized关键字),方法同步,效率低,不允许null值,父类为AbstractMap,默认长度是11,扩容时是原长的2倍+1

  • LinkedHashMap

底层结构链表与哈希表结合,有序,非线程安全,key和value允许为空,初始长度为16

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值