我有一个ArrayList,我从ArrayList的末尾以串行方式(即一个接一个)填充Integer类型的对象(即使用方法add(object ))。每次我这样做的时候,ArrayList中的其他对象当然会左移一个索引。有效的方法来查找ArrayList中的对象索引
在我的代码中,我想查找ArrayList中随机对象的索引。我想避免使用indexOf方法,因为我有一个非常大的ArrayList,并且循环将花费大量时间。有没有解决方法?一些想法如何保持一些数据结构可能是ArrayList中对象的索引?
编辑:显然我的问题并不清楚,或者我有一个arraylistist.add(object)方法的错误理解(这也是非常可能的!)。我想要做的是让滑动窗口具有滑动窗口,将对象插入到数组列表的一端,并从另一端删除对象,并且当一个对象插入到一端时,其他对象被一个索引移位。我可以使用arraylist.add(0,object)插入来自数组列表左侧的对象,并且每次将前一个对象右移一个索引,但是进行谷歌搜索后,我发现这是一个处理密集型操作 - O(N)如果我没记错的话。因此,我认为“好吧,让我们插入来自数组列表右端的对象,没问题!”,假设每个插入仍然会将前一个对象移动一个索引(这次是左边)。
另外,当我使用术语“索引”时,我只是指对象在ArrayList中的位置 - 也许还有一些更多的小型术语“索引”,这意味着不同的东西。
使用“Map”来存储索引。 –
SLaks
*如果*您以特定的顺序添加它们,您是否可以使用列表的大小来确定给定项目的索引? – Whymarrh
另外,你是什么意思,“每次我这样做,ArrayList中的其他对象当然左移了一个索引”。如果你添加到最后,指数保持不变。 – Whymarrh