当前位置:首页>科技>正文

数组和列表有什么区别

2023-04-25 21:51:45 互联网 未知 科技

数组和列表有什么区别?

数组和列表有什么区别

每个地方也说的不一样,但有时候只要理解了对方意思就行了,说一下我的理解。

数组和链表可以看做物理存储的概念。

数组是用一段连续的内存存储,可以随机访问。

链表不要求连续的内存。

而数据结构都是逻辑层的概念,线性表,栈,队列,树,图等等。

线性表这些逻辑层的概念,底层既可以用数组实现,也可以用链表实现。

线性表用数组实现叫做顺序表,用链表实现没有特殊的名字。

树用数组实现没有特殊的名字,用链表实现没有特殊的名字。

等等,好像也只有线性表那里有点特殊。

然后从这个角度来看,线性表,栈都是更高层的数据结构,而数组,链表就可以看做底层基础的数据结构。

所以一会儿把数组叫做这个,又叫做那个,理解就好,我也没找到明确的定义。

一、类型不同:

数组列表和数组非常相似,不过数组列表的容量可以动态变化,所以数组列表也是集合类型中使用频率较高的类型

二、元素不同:

Array数组可以包含基本类型和对象类型,ArrayList却只能包含对象类型。 但是需要注意的是:Array数组在存放的时候一定是同种类型的元素。ArrayList就不一定了,因为ArrayList可以存储Object。。

Array可以包含基本类型和对象类型,ArrayList只能包含对象类型。Array大小是固定的,ArrayList的大小是动态变化的。ArrayList提供了更多的方法和特性,比如:addAll(),removeAll(),iterator()等等。对于基本类型数据,集合使用自动装箱来减少编码工作量。但是,当处理固定大小的基本数据类型的时候,这种方式相对比较慢,这时使用Array就会比较有效率。可以在教程网站秒秒学上看看,上面Java课程讲解得挺好的。