当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

数组与ArrayList

发表于: 2015-05-03   作者:chou_qi   来源:转载   浏览次数:
摘要:         首先纠正一个大家基本理论上大多数存在的认知错误:ArrayList不是链表,是一个动态数组(大小可变) 通常大家包括我自己一直认为ArrayList 是链表结构,因为ArrayList 单词中含有一个List其实我们都没注意过 ArrayList中的Array数组   1.数组  &

        首先纠正一个大家基本理论上大多数存在的认知错误:ArrayList不是链表,是一个动态数组(大小可变)

通常大家包括我自己一直认为ArrayList 是链表结构,因为ArrayList 单词中含有一个List其实我们都没注意过

ArrayList中的Array数组

 

1.数组

      JAVA中涉及到的容器中数组查询效率最高,在其它语言中也应该是通用的,数组与链表是两种结构,数组的连续内存就保证了查询时的效率最高。

      数组的优缺点:(1)查询效率高

                               (2)内存利用率低:数组内存都是连续的,不像链表那样可以根据地址进行连接。

                               (3)增删效率低:数组内存的使用方式决定了,每当删除或增加一个元素时,都涉及后续

                                         元素跟随移动。

      使用场景:在存储数据只用查询操作时,没有增加删除操作时,且数据量较大,对程序性能有较高要求,内存资源足够时,在这几个条件都符合时一定要用数组。

      程序的性能,是由每个程序员代码是否是最优决定的,当然当要求快速开发时,果断放弃性能最优代码要求,没有十全十美的,还想马儿跑得快,还不给优质的马料,这样的公司或领导不配拥有高性能程序,让他拿着堆出来的代码邀功去吧。

 

2.ArrayList

           ArrayList是一种动态数组,只不过java中对这个数组做了处理,成了可变长的数组

ArrayList 使用场景是:数据量不太大时,用就行了,比数组性能低但是比链表性能高,而且不用考虑其它因素,

数组与ArrayList

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
我们都知道ArrayList类中有个重要的方法是Add(),该方法用于向集合中添加元素,它有一个object类型的
这些天一直纠结于散列表的总结, 感觉自己对散列表的理解还可以, 源代码也深究了一些, 但是一到要写
ArrayList集合可以看做动态数组,可以随时向数组中添加和删除元素,如果要获取普通数组,还可以通过
ArrayList集合可以看做动态数组,可以随时向数组中添加和删除元素,如果要获取普通数组,还可以通过
数组 1 声明时不能指定长度;例如int a[5]//非法 2 多维数组声明和初始化应按高维到低维; int[][]
import java.util.*;//导包 class ArrayListTest { public static void sop(Object obj)//主函数要
一、类结构 List,Set,Queue等均继承自Collection接口。 二、属性 非常简单就2个属性。 private trans
http://www.cnblogs.com/huangfox/archive/2010/10/09/1846758.html Java集合类 一、 概述 集合类是
ArrayList简介 ArrayList 是一个数组队列,既动态数组。与Java中的数组相比,它的容量能动态增长。
这里我想说说我对这个数据结构的理解。之前一直被theSize,size(),theItems.length几个点搞混。现在
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号