Java中集合的特点

存储结构

顺序

唯一

查询

添加/删除

ArrayList

顺序表

有序(添加)

不唯一

索引查询效率最高

效率低

LinkedList

双向链表

有序(添加)

不唯一

效率低

效率高

HashSet

哈希表

无序

唯一

效率最高

效率最高

HashMap

哈希表

Key无序

key唯一

效率最高

效率最高

LinkedHashSet

哈希表+链表

有序(添加)

唯一

效率最高

效率最高

LinkedHashMap

哈希表+链表

Key有序(添加)

key唯一

效率最高

效率最高

TreeSet

红黑树

有序(自然)

唯一

效率中等

效率中等

TreeMap

红黑树

有序(自然)

key唯一

效率中等

效率中等

Collection

Map

无序

不唯一

Collection

Map.values()

有序

不唯一

ArrayList

LinkedList

无序

唯一

HashSet

HashMap  keySet

有序

唯一

LinkedHashSet

TreeSet

LinkedHashMap

keySet

TreeMap

keySet

示例:对于制作购物车可以使用的集合:

 ArrayList  有序添加顺序   不适合大量添加和删除
*               但是考虑购物车中商品不是很多
*    LinkedList   有序 适合添加和删除 查询效率低
*     LiinkList不仅存数据还存节点,浪费一点空间
*    HashSet  无序
*    LinkedHashSet  有序 添加顺序  添加和删除效率高  查询效率高  无法判断商品条目是否存在-无法确定之前的数量
*    TreeSet  有序不是添加顺序
*    HashMap  无序
*    LinkedHashMap  有序 是添加顺序  添加和删除效率高
*      能否判断条目是否存在,使用条目的id作为key,根据key获取条目
*    TreeMap 有序但不是添加顺序

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值