Loading

Java基础遇到的问题

集合ArrayList有什么特点?底层是用什么实现的?

     特点:查询效率高,增删效率低。底层:使用数组实现的存储。

查询效率为什么变快了? 

     因为底层是使用数组实现的存储,数组是连续的,有下标,有下标了就可以根据下标查询一次命中,时间复杂度就变为0(1),查询就变快了。

为什么增删效率低?       

     因为定义数组的时候需要定义其长度,不灵活,不方便数据的增,删。

集合ArrayList ,数组,list有什么区别?

     数组在存储中是连续储存的,大小固定,无法改变。

     ArrayList的大小是根据存储数据来进行动态扩容和收缩的。所以我们在生命ArrayList对象时候不需要定义长度大小,因为它继承了Ilist接口,很方便的进行增加,删除,修改。

     list也继承了llist接口,最关键的区别是我们在声明list集合时候,我们需要声明list集合数据内的对象类型

数组有什么缺点呢?

     比如:大小固定,无法改变,那这个时候集合的优点就出来了:可以动态扩容。

posted @ 2022-03-11 12:38  远乡人  阅读(27)  评论(0编辑  收藏  举报