数组和容器(集合)相关的杂记

1. 数组是一种线性数据结构,用连续的存储空间存储相同类型数据
(1) 线性表:数组、链表、队列、栈 非线性表:树 图
(2) 连续的内存空间、相同的数据,所以数组可以随机访问,但对数组进行删除插入,为了保证数组的连续性,就要做大量的数据搬移工作

2. 容器和数组的对比: 相比于数字,java中的ArrayList封装了数组的很多操作,并支持动态扩容。一旦超过存储容量,扩容时比较耗内存,因为涉及到内存申请和数据搬移。

3.数组适用的场景: 

(1) Java ArrayList 的使用涉及装箱拆箱,有一定的性能损耗,如果特别关注性能,可以考虑数组
(2) 若数据大小事先已知,并且涉及的数据操作非常简单,可以使用数组
(3) 表示多维数组时,数组往往更加直观。
(4) 业务开发使用容器即可,底层开发,如网络框架,性能优化。选择数组。

猜你喜欢

转载自www.cnblogs.com/xiatuanjie/p/9787373.html
今日推荐