如果已将Item
附加到Form
,那么找出该项目所在的索引的最佳方法是什么?
Form.append(Item)
会给我最初添加的索引,但是如果我之后插入项目,索引将会不同步。
答案 0 :(得分:1)
这是我能想到的最好的:
private int getItemIndex(Item item, Form form) {
for(int i = 0, size = form.size(); i < size; i++) {
if(form.get(i).equals(item)) {
return i;
}
}
return -1;
}
我实际上没有对它进行过测试,但是它应该可以工作,我只是不喜欢列举每个项目,但是那时应该永远不会那么多,所以我猜它没问题。
答案 1 :(得分:0)
嗯,只有两种方法可以做到这一点,因为API没有indexOf(Item)
方法:
Item
时获得的索引。因此,当您在其他项目之前插入另一个Item
时,您将不得不更新这些项目的索引。你可以保留一些阴影数组,但这似乎有点矫枉过正。size
的{{1}}和get
方法遍历表单的所有项目。