1

我有一个对象的 ArrayList(我们称它们为 SampleObjects),然后我删除了一些随机对象。这是一些简化的代码来说明我的意思:

ArrayList<SampleObject> sample = new ArrayList<SampleObject>();
sample.add(new SampleObject); //call this object A, current index 0
sample.add(new SampleObject); //call this object B, current index 1
sample.add(new SampleObject); //call this object C, current index 2

如果我通过 sample.remove(1) 删除对象 B;

这导致对象 C 现在具有索引 1。那么我以后如何专门引用对象 C 呢?如果我有一个大的 ArrayList,我能想到的唯一解决方案是创建一个数组来跟踪示例 ArrayList 中的当前索引。有更好的解决方案吗?

4

1 回答 1

2

我认为您正在寻找Map。然后您可以通过某个键检索项目。

从评论更新,用户:@DwB

map的key可以是Integer,所以你可以用“0”引用A,用“1”引用B,用“2”引用C。删除元素 B 后 C 仍为“2”

希望能帮助到你。

于 2013-09-17T18:05:22.693 回答