我有一个移动对象的arraylist。
我的arraylist包含N个移动对象。
我只有MobileID,我需要找到该对象的索引。
我正在尝试arraylist.indexOf,但我不知道如何将数组中对象的MobileID与我的变量(mobID)进行比较
答案 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,返回匹配元素的索引是一种更好的方法。