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

[复制链接]
查看11 | 回复3 | 2020-3-23 11:58:11 | 显示全部楼层 |阅读模式
数组主要用于存储同一类型的数据,但是一个链表可存储人一类型的数据,且其空间可以自动变化。数组必须指定大小。还有数组主要用于查找简单,但是在数组中插入一个数字或删除一个数字就需要花很多时间,但链表则擅长于插入和删除。
回复

使用道具 举报

千问 | 2020-3-23 11:58:11 | 显示全部楼层
数组的特点就是访问指定元素很快:但是使用数组的时候必须指定数组大小,所以…有时候不使用。链表就不需要指定大小,但是访问元素还慢些。
回复

使用道具 举报

千问 | 2020-3-23 11:58:11 | 显示全部楼层
数组的大小一经指定,那么就是不可变的,但是链表可以通过add方法添加元素。
回复

使用道具 举报

千问 | 2020-3-23 11:58:11 | 显示全部楼层
数组就像身上编了号站成一排的人,要找第10个人很容易,根据人身上的编号很快就能找到。但插入、删除慢,要望某个位置插入或删除一个人时,后面的人身上的编号都要变。当然,加入或删除的人始终末尾的也快。链表就像手牵着手站成一圈的人,要找第10个人不容易,必须从第一个人一个个数过去。但插入、删除快。插入时只要解开两个人的手,并重新牵上新加进来的人的手就可以。删除一样的道理。Java中,ArrayList、LinkedList就是分别用数组和链表做内部实现的。没有谁好谁坏,根据不同情况下,用适合自己的。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行