知识大全 Java静态与动态数组特点分析

Posted 元素

篇首语:喜欢读书,就等于把生活中寂寞的辰光换成巨大享受的时刻。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Java静态与动态数组特点分析相关的知识,希望对你有一定的参考价值。

Java静态与动态数组特点分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  平常我们接触到的大多都是静态数组 其实在很多的时候 静态数组根本不能满足我们编程的实际需要 比方说我需要在程序运行过程中动态的向数组中添加数据 这时我们的静态数组大小是固定的 显然就不能添加数据 要动态添加数据必须要用到动态数组 动态数组中的各个元素类型也是一致的 不过这种类型已经是用一个非常大的类型来揽括 Object类型 Object类是JAVA LANG包中的顶层超类 所有的类型都可以与Object类型兼容 所以我们可以将任何Object类型添加至属于Object类型的数组中 能添加Object类型的的集合有ArrayList Vector及LinkedList 它们对数据的存放形式仿造于数组 属于集合类 下面是他们的特点

   同步性

  ArrayList LinkedList是不同步的 而Vestor是的 所以如果要求线程安全的话 可以使用ArrayList或 LinkedList 可以节省为同步而耗费开销 但在多线程的情况下 有时候就不得不使用Vector了 当然 也可以通过一些办法包装 ArrayList LinkedList 使他们也达到同步 但效率可能会有所降低

   数据操作效率

  ArrayList和Vector中 从指定的位置(用index)检索一个对象 或在集合的末尾插入 删除一个对象的时间是一样的 可表示为 O( ) 但是 如果在集合的其他位置增加或移除元素那么花费的时间会呈线形增长 O(n i) 其中n代表集合中元素的个数 i代表元素增加或移除元素的索引位置 为什么会这样呢?以为在进行上述操作的时候集合中第i和第i个元素之后的所有元素都要执行(n i)个对象的位移操作 LinkedList 中 在插入 删除集合中任何位置的元素所花费的时间都是一样的 O( ) 但它在索引一个元素的时候比较慢 为O(i) 其中i是索引的位置

   容量扩充性

  从内部实现机制来讲ArrayList和Vector都是使用Objec的数组形式来存储的 当你向这两种类型中增加元素的时候 如果元素的数目超出了内部数组目前的长度它们都需要扩展内部数组的长度 Vector缺省情况下自动增长原来一倍的数组长度 ArrayList是原来的 % 所以最后你获得的这个集合所占的空间总是比你实际需要的要大 所以如果你要在集合中保存大量的数据那么使用Vector有一些优势 因为你可以通过设置集合的初始化大小来避免不必要的资源开销

cha138/Article/program/Java/JSP/201311/20263

相关参考

知识大全 java内存泄漏的定位与分析

  ArrayList就是传说中的动态数组就是Array的复杂版本它提供了如下一些好处动态的增加和减少元素灵活的设置数组的大小……  认真阅读本文我相信一定会对你有帮助比如为什么ArrayList里面

知识大全 Java中的静态代理和动态代理

Java中的静态代理和动态代理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  代理模式主要有两种

知识大全 分析Java集合框架及数组的排序

分析Java集合框架及数组的排序  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &nbs

知识大全 asp array 数组函数实例

  asp教程array数组函数实例asp数组函数用于创建一个静态的一维数组你不能声明一个动态数组使用阵列功能  请注意在一个数组的第一个元素总是标记例如零myArray的()  该清单的论据是价值将

为什么调节系统要做动态、静态特性试验?

  调节系统静态特性试验的目的是测定调节系统的静态特性曲线、速度变动率、迟缓率,全面了解调节系统的工作性能是否正确、可靠、灵活;分析调节系统产生缺陷的原因,以正确地消除缺陷。  调节系统动态特性试验的

为什么调节系统要做动态、静态特性试验?

  调节系统静态特性试验的目的是测定调节系统的静态特性曲线、速度变动率、迟缓率,全面了解调节系统的工作性能是否正确、可靠、灵活;分析调节系统产生缺陷的原因,以正确地消除缺陷。  调节系统动态特性试验的

知识大全 Java动态代理机制综合分析及扩展

Java动态代理机制综合分析及扩展  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Java动态代

内在价值的分析方法

内在价值的分析方法分析股票的内在价值,可以采用静态分析法,也可以采取动态分析法。静态分析是从某一时点上分析股票的内在价值。一般可以用下面的两个指标来衡量:1、市盈率是指股票市价与每股税后利润的比值,用

动态市盈率与静态市盈率的区别

动态市盈率与静态市盈率的区别上市公司A目前股价为20元,08年每股收益为O.40元,显然。20/0.40=50,08年静态市盈率为50倍。我们观察到该公司07年每股收益为O.30元,成长性为(0.40

知识大全 tomcat中部署java项目

  在Tomcat中部署JavaWeb应用程序有两种方式静态部署和动态部署在下文中$CATALINA_HOME指的是Tomcat根目录  一静态部署  静态部署指的是我们在服务器启动之前部署我们的程序