如何从ArrayList中删除元素而不需要左移剩余的元素

5
当你从数组列表中移除一个元素(arrayList.remove(int n)),它会自动将所有剩余的元素向左移动。
我想知道是否可能让元素保持它们的位置。例如,如果删除位置2的元素,则希望位置3的元素仍然保持在原来的位置,而不是移动到位置2。谢谢。

需要这个功能的目的是什么?您是否正在使用while语句迭代集合?您是否尝试在迭代期间进行修改?您究竟想要实现什么? - Mike McMahon
我需要保留顺序,因为我有一些方法需要按特定位置调用元素。 - M9A
因此,您需要能够修改特定位置的元素并保留数组的顺序/结构,因为在不确定的时间点上可能需要依赖该数组的另一种方法,并且它必须配置为正确的大小...等等? 如果是这样,那么提供的答案绝对有效。 一旦将特定元素设置为null,GC将捡起并清理以前存储在该位置的对象(或者至少应该这样做)。 - Mike McMahon
1个回答

17
list.set(2, null);

这只是将索引为2的元素替换为null,这样就可以得到期望的结果。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接