`

数组与ArrayList

阅读更多

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

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

ArrayList中的Array数组

 

1.数组

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

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

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

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

                                         元素跟随移动。

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

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

 

2.ArrayList

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

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

分享到:
评论

相关推荐

    C#中数组与arraylist

    数组与ArrayList的主要区别在于: 1. **类型安全**:数组是静态类型,保证了类型安全;ArrayList是动态类型,可能导致类型错误。 2. **大小**:数组的大小固定,ArrayList的大小可变。 3. **性能**:数组访问更快,...

    C#数组与Arraylist

    总的来说,理解和运用数组与ArrayList是C#程序员的基本功。在不同的应用场景下选择合适的数据结构,可以显著提高代码的效率和质量。在实际编程中,我们应根据需求选择最合适的解决方案,同时,随着技术的发展,不断...

    使用数组列表ArrayList填充ListBox

    在.NET框架中,ArrayList是System.Collections命名空间下的一种动态数组,它可以存储任意类型的对象,而ListBox控件则是Windows Forms应用程序中常见的用户界面元素,用于显示一个可选项目的列表。本篇将详细介绍...

    java中数组列表ArrayList的使用.doc

    java中数组列表ArrayList的使用

    java中数组列表arraylist的使用.docx

    java中数组列表arraylist的使用.docx

    C#中数组、ArrayList、List、Dictionary的用法与区别浅析(存取数据)

     在工作中经常遇到C#数组、ArrayList、List、Dictionary存取数据,但是该选择哪种类型进行存储数据,对于初学者的我一直不知道该怎么取舍。于是抽空好好看了下他们的用法和比较,在这里总结下来,后面有需要改进的...

    java中数组列表ArrayList的使用[归类].pdf

    4. **ArrayList与数组之间的转换** - 将ArrayList转换为数组: ```java Integer[] values = (Integer[]) list.toArray(new Integer[list.size()]); ``` - 或者: ```java ArrayList<Integer> list = new ...

    数组模仿ArrayList

    ArrayList在添加元素时,如果数组已满,会创建一个新的更大的数组,并将旧数组中的元素复制到新数组中,然后在新数组的末尾添加新元素。 ```java public void add(T element) { if (size == elements.length) { ...

    c# 数组与集合(ArrayList)游戏开发高级使用举例

    c# 数组与集合(ArrayList)游戏开发高级使用举例 一、数组 定义:数组是相同数据类型的元素按一定顺序排列的集合。 优点:数组在存储数据的时候是连续存储的,因此可以快速而容易地从头到尾遍历元素,可以快速的...

    C#中数组、ArrayList和List三者的区别详解及实例

    在C#编程语言中,数组、ArrayList和List都是用来存储一组对象的数据结构,但它们之间存在着显著的差异。下面将对这三个概念进行详细解释,并通过实例展示它们的使用。 1. **数组**: - **定义**:数组是最基本的...

    求助!有关数组存取问题

    6. **动态数组与ArrayList** 在某些编程语言中,如Java,数组的长度在创建后无法改变。为了解决这个问题,可以使用动态数组(如Java的ArrayList)来灵活地添加或移除元素。ArrayList内部维护了一个数组,并在需要时...

    java简易管理系统代码.zip

    3. **对象数组与ArrayList的区别**:对象数组是静态的,大小在声明时固定,不适合频繁的增删操作。而ArrayList是动态的,可以根据需要自动调整容量,更适合需要灵活管理数据的场景。 4. **I/O流的使用**:在这些...

    Java数组的使用和学习

    八、数组与ArrayList的区别 虽然数组和ArrayList(Java集合框架的一部分)都可以存储多个元素,但有显著区别。数组是固定大小的,而ArrayList可以在运行时动态扩展;数组直接访问元素更快,ArrayList提供了更多高级...

    Java如何把数组转换为ArrayList

    Java中将数组转换为ArrayList的方法 Java是一种面向对象的编程语言,广泛应用于Android应用开发、Web开发、桌面应用开发等领域。其中,数组和ArrayList是Java中两个非常重要的数据结构。数组是一种基本的数据结构,...

    Java 数组练习

    7. **数组与ArrayList比较** 虽然数组提供了高效的数据访问,但其长度固定,增删元素不便。`ArrayList`是Java集合框架的一部分,提供了动态增长和元素添加/删除的便利性,但牺牲了数组的直接访问速度。 8. **数组...

    07-Java基础(数组-常见问题)

    7. **数组与ArrayList的区别** 数组长度固定,而ArrayList属于集合框架,动态调整容量。数组操作效率高,ArrayList提供了更多的功能,如添加、删除元素等。 8. **常见问题与解决** - 数组越界:访问不存在的索引...

    accp5.0java第八章 数组

    6. **数组与ArrayList对比**:虽然数组在内存中连续存储,但不支持动态扩容。`ArrayList`是Java集合框架的一部分,它允许动态增加或减少元素数量,提供了更灵活的处理方式,但相比数组,其在访问速度上稍逊一筹。 7...

    数组的使用小例子,有用啊

    八、数组与ArrayList和List 虽然数组在C#中是固定大小的,但`ArrayList`和`List<T>`类提供了可变大小的动态数组功能。它们属于`System.Collections`和`System.Collections.Generic`命名空间,提供了更丰富的操作和...

Global site tag (gtag.js) - Google Analytics