数据结构与集合(二) --- 集合框架图

java中的集合时用于存储对象的工具类容器,它实现了常用的数据结构,提供了一系列公开的方法用于增加, 删除, 修改, 查找和遍历数据, 降低了日常开发成本.

集合的种类非常多, 形成了一个比较经典的继承关系树, 称为Java 集合框架图, 如图所示:
在这里插入图片描述

框架图中主要分为两类: 第一类是按照单个元素存储的Collection,在继承树中Set 和List 都实现了 Collection 接口; 第二类就是按照Key-Value 存储的Map .

在集合框架中, 红色代表接口, 蓝色代表抽象类,绿色代表并发包中的类, 灰色代表早期线程安全的类(基本已经弃用). 可以看到, 与Collection 相关的4条线分别是List , Queue, Set, Map, 他们的子类会映射到数据结构中的表, 树, 哈希等.

List集合

List集合时线性数据结构的主要实现, 集合元素通常存在明确的上一个和下一个元素, 也存在明确的第一个元素和最后一个元素. List集合的遍历结果是稳定的. 该体系最常用的是 ArrayList 和LinkedList 两个集合类.

ArrayList 是容量可以改变的非线程安全集合, 内部实现使用数组进行存储, 集合扩容时会创建更大的数组空间, 把原有数据复制到新数组中, ArrayList 支持对元素的快速随机访问, 但是插入与删除时速度通常很慢, 因为这个过程很有可能需要移动其他元素.

Linked

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值