Java 如何在不左移其余元素的情况下从ArrayList中删除元素

Java 如何在不左移其余元素的情况下从ArrayList中删除元素,java,arraylist,Java,Arraylist,从数组列表中删除元素(arrayList.remove(int n))时,它会自动将所有剩余元素向左移动 我想知道元素是否可能保持其位置。例如,若位置2的元素被删除,我希望位置3的元素保持原样,而不是移动到位置2。谢谢 list.set(2, null); 这只是将索引2处的元素替换为null,从而得到所需的结果。需要此功能的目的是什么?是否使用while语句对集合进行迭代?您是否试图在所述迭代期间进行修改?你到底想实现什么?我需要保留顺序,因为我有一些方法在某个位置调用元素,所以本质上你需要

从数组列表中删除元素(
arrayList.remove(int n)
)时,它会自动将所有剩余元素向左移动

我想知道元素是否可能保持其位置。例如,若位置2的元素被删除,我希望位置3的元素保持原样,而不是移动到位置2。谢谢

list.set(2, null);

这只是将索引2处的元素替换为null,从而得到所需的结果。

需要此功能的目的是什么?是否使用while语句对集合进行迭代?您是否试图在所述迭代期间进行修改?你到底想实现什么?我需要保留顺序,因为我有一些方法在某个位置调用元素,所以本质上你需要能够将元素修改为特定位置,并保留数组的顺序/结构,因为在一个不确定的时间点上,另一个方法可能需要依赖所述数组,并且它必须是否配置为正确的大小…等等?如果是这样的话,那么提供的答案是:它绝对有效。将特定元素设置为null后,GC将拾取并清理正式存储在该位置的对象(或者至少应该如此)