Java ArrayList 不服来辩

2023-07-28 16:48:23 +08:00
 guguji

get(int index) 方法时间复杂度 O(1),如何做的到? - 如果底层是基于数组,那么数组为什么可以根据索引快速访问到数据?

remove(int index) 方法时间复杂度 O(N2) - 如果有大批量的数据在 list 中,且要删除其中一个元素,请问如何优化? - 就基于 ArrayList 来做,不该变成 LinkedList 这种?

5801 次点击
所在节点    Java
67 条回复
good1uck
2023-07-30 21:04:45 +08:00
@iBugOne 都不用发 stack 啊 就这楼里你看看 你还是有人能说清楚 高下立判
rOrange
2023-07-31 00:40:50 +08:00
好好读读源码,连 linkedList 作者都发帖说不用 linkedList
lyxeno
2023-07-31 09:07:59 +08:00
@qwerthhusn 这么一看,操作系统和 JVM 帮普通的程序员做了太多太多了
lmq2582609
2023-07-31 09:41:26 +08:00
可以看看数据在内存中是如何布局的
fengyouliang
2023-08-04 15:39:28 +08:00
玩会原神吧
guguji
2023-08-25 16:53:58 +08:00
嗐 原来大家都在第一层~(我感觉没表达清楚问题),匿了匿了 害怕
258
334 天前
嗯?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/960605

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX