集合的特性

集合的特性
list集合:(有存放顺序,元素可重复)
Arraylist:底层由数组实现,查询快、增删慢、线程不安全、效率高
Linkedlist:底层是链表,查询慢,删除快,线程不安全,效率高
Vector:底层是数组,查询快,增删慢、线程安全,效率低
Set集合:(没有存放顺序,元素不可重复)
HashSet:底层是哈希表,向HashSet集合中放入新元素的执行顺序:
1、调用Hashcode()函数,看是否已经有相同的哈希值
2、如果没有则放入该新元素,如果有则调用equals()函数逐个比对,如果没 有,则放入,如果有,则不执行添加元素操作。

LinkedHashSet:底层是:哈希表(元素不可重复)+链表(有序,因为链表记录 每个元素都记录后一个元素的地址)

TreeSet:理解思路1:TreeSet是对Set集合的实现,而Set集合都是不可重 复的
理解思路2:TreeSet自动排序,添加元素时会调用compareTo(Object obj)方法,遇到重复不添加元素)有两种排序方法:自然排序(默 认升序)和定制排序。
Map集合:(Map属于双列集合,由键值对组成(键+值 成对存储),其中键完全和 List集合的特点相同(底层一样),值依附于每一个键上,不受规则影响(比如TreeMap的键不可重复,但值可重复)

HashMap:底层是哈希表(哈希表的本质是数组+链表)把它的键套用HashSet的规则即可,只是每个键都附带了其各自的值。

LinkedHashMap:底层是哈希表和链表,把它的键套用LinkedHashSet的规则即 可,只是每个键都附带了其各自的值。

HashTable:底层是哈希表(哈希表的本质是数组+链表),十分类似于HashMap与HashMap唯一区别:Hashtable线程安全,效率低,不允许null键null值HashMap线程不安全,效率高,允许null键null值

TreeMap:底层是红黑树,自然平衡二叉树,其键的存储类似于TreeSet,只是每 个键都附带了其各自的值(value)。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值