数组精简复习

  1. ArrayList初始容量为10 扩容后的大小 = 原始大小+原始大小的1/2(jdk各个版本不一致)
  2. LinkedList是一个双向链表,没有初始化大小,也没有扩容机制,可以一直在前面或者后面新增就行
  3. HashMap初始化大小是16,扩容因子默认0.75
  4. 数组从0开始编号
  5. 数组可以随机访问
  6. 数组是一种线性表数据结构,他用一组连续的内存空间,来存储一组具有相同类型的数据
  7. 线性表。就是数据像是排成一条线一样的结构。每个线性表上的数据最多只有前和后两个方向。
  8. 连续的内存空间和相同类型的数据。
  9. 正是因为这两个限制,实现了随机访问
  10. 也让很多操作效率降低,如果想在数组中插入
  11. 容器能否完全代替数组??
  12. ArrayList和数组(Array)比有什么优势呢
  13. ArrayList最大的优势就是可以将很多数组操作的细节封装起来。支持动态扩容,也可以自己指定大小
  14. 数组每次定义之前都要指定大小,因为需要连续的内存空间,如果内存不够用,我们就会重新分配一块儿更大的空间,将原来的数据复制过去,然后再将新的数据插入。
  15. 数组与ArrayList的几点区别:
  1. ArrayList无法存储基本类型,比如int,long,需要封装为Integer、Long类,而Autoboxing、Unboxing则有一定的性能消耗,如果特别关注性能,或者希望使用基本类型可以选用数组
  2. 如果数据大小实现已知,并且对数据的操作非常简单,用不到ArrayList提供的大部分方法,也可以直接使用数组
  3. 表示多为数组时,用数组往往会更加直观。比如Object[][]array 而用容器的话则需要这样定义 ArrayList<ArrayList> array

做业务使用容器足够了,如果是偏向底层的开发网络框架啥的 这个时候数组就会优于容器,成为首选
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值