当你创建一个数组时,你会在内存中保留 size(type)*length ,当你想访问某个特定位置时,你可以通过 size(type)*position 来访问,所以如果你想删除最后一个元素您只能将position的最大值设置为position-1并释放其余内存以在O(1)内进行删除
这就是 las 元素的静态数组的工作原理吗?
最佳答案
不完全是。 Java中数组的长度是固定的。您仍然可以通过为数组中的项目数保留一个单独的计数器来删除数组末尾的对象。然后,您可以通过将最后一个元素设置为 null 并手动减少计数器来“删除”它。但数组的实际长度仍然相同,计数器上方的条目只是空的。
关于java - 删除静态数组中的元素可以是 O(1) 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57531927/