数组和ArrayList里删除一个元素,什么方法开销比较小?

鸣鸣Amadues 2021-01-26 11:37:13
在写一个比较逻辑,希望删除数组或者ArrayList里已经比较过的元素,虽然不太懂删除的底层实现(比如位移元素什么的),但知道删除本身是有开销的,如果开销比较大的话还不如不要做删除动作了
...全文
268 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lss_love 2021-01-26
  • 打赏
  • 举报
回复
ArrayList的底层就是一维数组,删除元素涉及到删除节点后面所有节点的前移,效率会很慢(大数据的前提下),个人想法,如果提前知道集合涉及到大量数据的删除或增加操作就用LinkedList,如果涉及到大量的查找和修改就选择ArrayList,具体看场景而定,我是萌新,说的不好,大佬不要喷我!
lin351550660 2021-01-26
  • 打赏
  • 举报
回复
ArrayList的底层数据结构就是一个数组,数组元素的类型为Object类型,对ArrayList的所有操作底层都是基于数组的。 所以 你问的问题就变成了 a数组 和b数组 里删除一个元素,什么方法开销比较小。= 数组 删除一个元素 什么方法开销比较小。 那就涉及到算法层面了,不太懂。
qq_39936465 2021-01-26
  • 打赏
  • 举报
回复
引用 楼主 鸣鸣Amadues 的回复:
在写一个比较逻辑,希望删除数组或者ArrayList里已经比较过的元素,虽然不太懂删除的底层实现(比如位移元素什么的),但知道删除本身是有开销的,如果开销比较大的话还不如不要做删除动作了
只有在实例情况下,比较开销才有可能。
叫练 2021-01-26
  • 打赏
  • 举报
回复
ArrayList底层也是数组,如果说你需要做比较复杂的业务,比如说你说的比较删除开销问题,你就用ArrayList,你可以不相信我,但是不你能不相信Doug Lea。希望我的回答对您有所帮助!

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧