JAVA中数组与链表有什么区别?

数组有什么优缺点?它与链表有什么区别?
2024年11月22日 15:35
有5个网友回答
网友(1):

一、主体不同

1、数组:是有序的元素序列。将有限个类型相同的变量的集合命名。

2、链表:是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。


二、组成不同

1、数组:是在程序设计中,为了处理方便, 把具有相同类型的若干元素按无序的形式组织起来的一种形式。

2、链表:由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。

三、特点不同

1、数组:所有元素都具有相同类型。数组中的元素存储在一个连续性的内存块中,并通过索引来访问。

2、链表:可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。


参考资料来源:百度百科-链表

参考资料来源:百度百科-数组

网友(2):

数组就像身上编了号站成一排的人,要找第10个人很容易,根据人身上的编号很快就能找到。但插入、删除慢,要望某个位置插入或删除一个人时,后面的人身上的编号都要变。当然,加入或删除的人始终末尾的也快。

链表就像手牵着手站成一圈的人,要找第10个人不容易,必须从第一个人一个个数过去。但插入、删除快。插入时只要解开两个人的手,并重新牵上新加进来的人的手就可以。删除一样的道理。

Java中,ArrayList、LinkedList就是分别用数组和链表做内部实现的。
没有谁好谁坏,根据不同情况下,用适合自己的。

网友(3):

数组主要用于存储同一类型的数据,但是一个链表可存储人一类型的数据,且其空间可以自动变化。数组必须指定大小。还有数组主要用于查找简单,但是在数组中插入一个数字或删除一个数字就需要花很多时间,但链表则擅长于插入和删除。

网友(4):

数组的特点就是访问指定元素很快:
但是使用数组的时候必须指定数组大小,所以…有时候不使用。

链表就不需要指定大小,但是访问元素还慢些。

网友(5):

数组的大小一经指定,那么就是不可变的,但是链表可以通过add方法添加元素。