Java面试问答宝典(ArrayList篇)-ArrayList如何删除数据?

我们参加Java培训学习都是希望能够毕业后找到满意的工作,然而培训机构只是推荐就业,我们仍然需要进行面试,提高面试技术问答的正确率有助于增加面试官的满意度。本系列全面汇总了企业Java面试的技术问题,希望能够帮助大家。

本文列举的技术问题有:

更多Java面试技术问答后续会继续提供,想要一口气获得所有答案的小伙伴可以评论交流哦~

问题一:ArrayList如何删除数据?

A:

ArrayList删除数据时同样使用拷贝数组的方式,将要删除的位置之后的所有元素拷到当前位置,最后再对最后一个位置的数据设置为null,交给gc来回收。这种删除,其实就是覆盖,如果数据量大,那么效率很低。

问题二:ArrayList适合做队列吗?

A:

队列需要遵循先进先出的原则,如果从ArrayList的数组头部入队列,数组尾部出队列,那么对于入队列时的操作,会涉及大数据量的数组拷贝,十分耗性能。队头队尾反一反也是一样,因此ArrayList不适合做队列。

问题三:数组适合做队列吗?

A:

ArrayBlockingQueue环形队列就是用数组来实现的。ArrayBlockingQueue的存和取操作的索引是在当索引值等于容量值时,将索引值设置为0实现环形队列的效果,因此在这种情况下,数组适合做队列。

问题四:ArrayList和LinkedList两者的遍历性能孰优孰劣?

A:

ArrayList的遍历性能明显要比LinkedList好,因为ArrayList存储的数据在内存中时连续的,CPU内部缓存结构会缓存连续的内存片段,可以大幅降低读取内存的性能开销。

更多Java面试技术问答后续会继续提供,想要一口气获得所有答案的小伙伴可以评论交流哦~

展开阅读全文

页面更新:2024-02-18

标签:问答   数据   遍历   环形   队列   数组   索引   宝典   内存   性能   技术

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2008-2024 All Rights Reserved. Powered By bs178.com 闽ICP备11008920号-3
闽公网安备35020302034844号

Top