我有一个对象的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
如果我删除了对象B. sample.remove(1);
这导致对象C现在拥有索引1。那我以后如何具体引用对象C?如果我有一个大型ArrayList,我能想到的唯一解决方案是创建一个跟踪示例ArrayList中当前索引的数组。有更好的解决方案吗?
答案 0 :(得分:2)
我认为您正在寻找Map。然后,您可以通过某个键检索项目。
从评论更新,用户:@DwB
地图的关键字可以是整数,所以你可以用“0”来引用A, B为“1”,C为“2”。删除元素B后,C仍为“2”
希望它有所帮助。