参考答案
数组和链表的区别
一、相同点
数组和链表都属于一种数据结构。
二、不同点
1. 从逻辑结构来看
- 数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。
- 链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除数据项时,需要移动其它数据项,非常繁琐)链表必须根据next指针找到下一个元素。
2. 从内存存储来看
- (静态)数组从栈中分配空间, 对于程序员来说,比较方便快速,但是自由度小。
- 链表从堆中分配空间,自由度大,但是申请管理比较麻烦。
综上所述:
如果需要快速访问数据,很少或不插入、删除元素,用数组。
相反, 如果需要经常插入和删除元素,用链表数据结构。
以上,是Java面试题【数组和链表的区别】的参考答案。
输出,是最好的学习方法。
欢迎在评论区留下你的问题、笔记或知识点补充~
—end—