• 数组VS集合


    1、数组(Array)是一种线性表数据结构。它用一组连续的内存空间,来存储一组具有相同类型的数据
    2、假设数组a[int],它的首地址是base_address,那么a[k]元素的起始地址等于base_address+k*type_size(k为数组的下标,数组存储的是int类型数据,type_size就是4个字节),a[k]元素的结尾地址为起始地址+type_size,这也是为什么大多数编程语言中,数组要从 0 开始编号,而不是从 1 开始
    3、数组中的数据是有序的,我们在某个位置插入一个新的元素时,就必须按照刚才的方法搬移 k 之后的数据,这种效率就比较低了;但是,如果数组中存储的数据并没有任何规律,可以直接将第 k 位的数据搬移到数组元素的最后,把新的元素直接放入第 k 个位置以提高插入效率
    4、数组每次删除一个元素都要把之后的数据往前移,我们可以先只记录数据已经被删除然后将多次删除操作集中在一起执行以提高删除效率或者当数组没有更多空间存储数据时,我们再触发执行一次真正的删除操作
    5、集合无法存储基本类型,比如 int、long,需要封装为 Integer、Long 类,而 Autoboxing、Unboxing 则有一定的性能消耗,所以如果特别关注性能,或者希望使用基本类型,就可以选用数组
    6、当要表示多维数组时,用数组往往会更加直观。比如 Object[][] array;而用容器的话则需要这样定义:ArrayList<ArrayList<object>> array

  • 相关阅读:
    sublime text
    php 实例说明 socket通信机制
    nusaop 关于webService
    vim操作集合
    gitHud设置公钥
    redis在window安装并启动
    百度云api 添加标注
    微信小程序bindTap获取对应值
    Java导出excel表
    linux 常用命令
  • 原文地址:https://www.cnblogs.com/jetqiu/p/13358061.html
Copyright © 2020-2023  润新知