数组索引对象 - java

时间:2016-07-03 23:32:06

标签: java android

我有一个移动对象的arraylist。

  • 移动:
    • MobileID
    • MobileName

我的arraylist包含N个移动对象。

我只有MobileID,我需要找到该对象的索引。

我正在尝试arraylist.indexOf,但我不知道如何将数组中对象的MobileID与我的变量(mobID)进行比较

2 个答案:

答案 0 :(得分:2)

您可以使用单个循环来完成。

5.4321

但是,如果您要进行大量查询,那么您可能需要使用从字符串到整数的映射。

答案 1 :(得分:1)

Mobile类中,覆盖boolean equals(Object o)方法,当两个对象的id相等时返回true。

class Mobile {
    @Override
    boolean equals(Object obj) {
        if (obj instanceof Mobile) {
            Mobile otherMobile = (Mobile)obj;
            return otherMobile.getMobileID().equals(this.getMobileID());
        }
        return false;
    }

}

如果您在将来的代码中确定,Mobile的相等性将保持不变,即仅通过id进行比较,则这种方式更容易。但是,如果情况并非如此,那么,循环遍历所有元素,并比较id,返回匹配元素的索引是一种更好的方法。