java - 删除静态数组中的元素可以是 O(1) 吗?

标签 java data-structures

当你创建一个数组时,你会在内存中保留 size(type)*length ,当你想访问某个特定位置时,你可以通过 size(type)*position 来访问,所以如果你想删除最后一个元素您只能将position的最大值设置为position-1并释放其余内存以在O(1)内进行删除

这就是 las 元素的静态数组的工作原理吗?

最佳答案

不完全是。 Java中数组的长度是固定的。您仍然可以通过为数组中的项目数保留一个单独的计数器来删除数组末尾的对象。然后,您可以通过将最后一个元素设置为 null 并手动减少计数器来“删除”它。但数组的实际长度仍然相同,计数器上方的条目只是空的。

关于java - 删除静态数组中的元素可以是 O(1) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57531927/

相关文章:

java - 球不动;线?

c - 打印链表数据时只打印第一个元素

java - Java hashCode 方法是否同时进行转换和压缩?

java - 将第二个 Activity 的值(value)保存到第一个 Activity ,而不会丢失更新的数据

c# - 如何找到两个数组的交集(最佳解决方案)

c++ - 什么样的数据结构适合facebook模型的用户

python - python3中两个排序链表的交集?

data-structures - Heap pop 操作的时间复杂度

java.lang.NoClassDefFoundError : Could not initialize class com. googlecode.objectify.ObjectifyService

java - 如何使用AutoIt上传多个文件?