Java基础:Collection集合(Collection层次结构中的根结构)

本文介绍了Java中的Collection接口,它是单列集合的顶级接口。主要内容包括ArrayList、LinkedList、Vector等实现类的特性,以及Set接口下的HashSet、TreeSet和LinkedHashSet。重点讲述了ArrayList和LinkedList在增删查上的效率差异,并提及了Collection接口提供的通用方法。
摘要由CSDN通过智能技术生成

Collection层次结构

  • Collection接口: 单列集合最顶层的接口,单列集合中的共性内容,所有单列集合都可以使用。
    • List接口 / 集合: 有存储顺序,允许存储重复元素。
      • ArrayList类(重点): 底层是数组实现的, 查找快, 增删慢。由于是数组实现,在增和删的时候会牵扯到数组增容,以及拷贝元素,所以慢。而数组是可以直接按索引查找, 所以查找时较快,一个普通的for循环可以遍历。
      • LinkedList类: 底层是链表实现的, 增删快, 查找慢。由于链表实现, 增加时只要让前一个元素记住自己就可以, 删除时让前一个元素记住后一个元素, 后一个元素记住前一个元素. 这样的增删效率较高但由于没有索引,查询时需要一个一个的遍历, 所以查询效率较低。
      • Vector类(了解): 和ArrayList原理相同,但线程安全, 效率略低,和ArrayList实现方式相同, 但考虑了线程安全问题, 所以效率略低 。
    • Set接口 / 集合: 无存储顺序, 不允许存储重复元素,无索引。
      • HashSet类 (重点):底层是哈希表(+红黑树)实现的。
      • TreeSet类(了解):底层是二叉树实现,一般用于排序。
      • LinkedHashSet类:可以保证存取顺序ÿ
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值