Array 和 ArrayList 有何区别

首先Array是数组,而ArrayList是集合
一:数组的空间大小不同

Array 的长度在定义后是不可改变的,如果这时候我们需要在数组中添加其他的元素的时候,就必须要新建一个数组且数组长度比原数组长度多一,然后再把数组中的内容复制到新数组中,最后再根据下标添加需要的内容。

二:储存内容不同 Array 可以包含基本类型和对象类型 ArrayList 只能包含对象类型

Array可以容纳基本类型和对象,而ArrayList只能容纳对象。
Array是指定大小的,而ArrayList大小是固定的。
Array没有提供ArrayList那么多功能,比如addAll、removeAll和iterator等。尽管ArrayList明显是更好
的选择,但也有些时候Array比较好用。

1、如果列表的大小已经指定,大部分情况下是存储和遍历它们。 2、对于遍历基本数据类型,尽管 Collections 使用自动装箱来减轻编码任务,在指定大小的基本类型的 列表上工作也会变得很慢。 3、如果你要使用多维数组,使用 [][] 比 List<List<>> 更容易。

4、Array 类型的变量在声明的同时必须进行实例化(至少得初花数组的大小),而 ArrayList 可以只是先声明;

5、Array 始终是连续存放的;而 ArrayList 的存放不一定连续;

6、Array 对象的初始化必须指定大小,且创建后的数组大小是固定的;而 ArrayList 的大小可以动态指定,空间大小可以任意增加;

7、Array 不能随意添加、删除;而 ArrayList 可以在任意位置插入和删除。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: arrayarraylist都是用来存储一组数据的数据结构,但是它们有以下区别: 1. array是一种固定长度的数据结构,一旦创建后,长度就无法改变。而arraylist是一种动态长度的数据结构,可以根据需要动态地增加或减少元素。 2. array中的元素必须是同一种数据类型,而arraylist可以存储不同类型的元素。 3. array访问元素的速度比arraylist快,因为array是在内存中连续存储的,而arraylist是在内存中不连续存储的。 4. arraylist可以使用一些方便的方法来操作元素,如添加、删除、查找等,而array需要手动编写代码来实现这些操作。 总之,arrayarraylist都有各自的优缺点,具体使用哪种数据结构要根据具体的需求来决定。 ### 回答2: 数组(array)和数组列表(arraylist)都是用于存储多个元素的数据结构,但它们之间有很大的区别。 1. 内存分配不同: 数组在初始化时,需要指定数组的大小,一旦确定,就无法改变。因此它们在内存中是一段连续的空间。而数组列表在初始化时,大小是动态分配的,可以根据需要自动扩展或收缩,因此它们在内存中不是连续的空间。 2. 元素类型不同: 数组可以存储多种类型的元素,例如int,float,char等,但只能存储一种类型的元素。而数组列表可以存储任何类型的对象,包括int,float,char或其他对象类型。 3. 增删元素操作不同: 在数组中,如果要添加或删除元素,需要将元素移动到新的位置。如果要添加元素,需要将旧元素向后移动;如果要删除元素,则需要将旧元素向前移动。而数组列表可以直接添加或者删除一个元素,因为它们的大小是动态分配的。 4. 访问元素速度不同: 数组的元素可以通过下标索引直接访问,速度非常快。而数组列表则需要通过调用相应的方法来访问元素,速度相对较慢。 总体来说,数组和数组列表都有各自的使用场景。如果需要一个静态的数据结构存储有限数量的元素,可以使用数组;如果需要一个动态的数据结构,可以存储大量元素,并且需要经常进行插入,删除操作,应该使用数组列表。 ### 回答3: ArrayArrayList都是在Java中使用的数据结构,但是它们之间有许多区别。 数组(Array)是一种用于存储相同类型数据的数据结构。它是一个固定大小的集合,它可以在声明和创建时定义大小,一旦创建,就无法更改其大小。在定义数组中时需要给它指定大小,并且对于每个元素都可以通过索引访问元素,这使得在数组中插入或删除元素变得比较困难。 相比之下,ArrayList是一种动态数组,具有可变长度,可以根据需要调整大小,使其更加灵活。它是一个类而不是简单的数组,可以使用add()和remove()方法添加或删除元素。由于ArrayList中的元素不是基本数据类型,而是对象,因此ArrayList只能存储对象,不能存储基本数据类型。 另一个比较重要的差异是,Array是一个简单的基本的数据结构,而ArrayList是Java的类库中的一个类,它包含许多附加的方法和功能,比如添加,删除,搜索等等。因此,使用ArrayList有更多的优势和功能。但是,ArrayList也会占用更多的内存,因为它需要将其元素作为对象来存储,而这需要额外的内存。 总之,ArrayArrayList都是Java中的常见数据结构。数组是一个基本的数据结构,具有固定的大小和速度,而ArrayList则是基于对象的动态数组,允许添加和删除元素。在编写Java程序时,开发人员可以根据需要选择使用哪种数据结构,以便实现该程序的最佳性能和功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值