Java 确定表单上项目的索引(J2ME)

Java 确定表单上项目的索引(J2ME),java,java-me,lcdui,Java,Java Me,Lcdui,给定已附加到表单的项,找出该项在表单上的索引的最佳方法是什么 Form.append(Item)将为我提供最初添加的索引,但如果我以后在此之前插入项目,索引将不同步。这是我能想到的最好方法: private int getItemIndex(Item item, Form form) { for(int i = 0, size = form.size(); i < size; i++) { if(form.get(i).equals(item)) {

给定已附加到
表单
,找出该项在表单上的索引的最佳方法是什么


Form.append(Item)
将为我提供最初添加的索引,但如果我以后在此之前插入项目,索引将不同步。

这是我能想到的最好方法:

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;
}
private int getItemIndex(项目、表单){
for(int i=0,size=form.size();i

我还没有实际测试过这个,但它应该可以工作,我只是不喜欢枚举每一项,但不应该有那么多,所以我想这没问题。

好吧,有两种方法可以做到这一点,因为API没有
indexOf(item)
方法:

  • 添加
    项时,您将更新得到的索引。因此,当您在其他项目之前插入另一个
    项目时,您必须更新这些项目的索引。您可以为此保留某种阴影阵列,但这似乎有点过头了
  • 使用
    form
    size
    get
    方法循环浏览表单的所有项