所以,我有一个自定义类,而类类型的ArrayList。现在,我想检索对象的索引中只使用一个ID,它是组成这个类的一个对象的其他属性提供给我此ArrayList。
看见有几个在线的例子,但我有点糊涂了,他们正在重写的hashCode()和equals()和equals()方法,他们正在检查所有的属性,我只是想检查与ID值,因为对于每个对象ID是唯一的。
public class MyClass {
private String ID;
private String name;
private String userName;
private String position;
// Constructors and getters and setters
}
所以,我想的是,对于说这段代码:
List<MyClass> list=new ArrayList<>();
//Values are populated into list
int i=list.indexOf(someObjectsID); //Where someObjectsID is a String and not a MyClass object
INT I将具有在具有ID列表MyClass对象的的indexOf等于someObjectsID
有一个绝对的保证,有效地解决这个问题。闲来无事将工作几乎如此简单或有效。
这种解决方案只写循环,而不是试图获得幻想。
for(int i = 0; i < list.size(); i++){
if (list.get(i).getId().equals(id)) {
return i;
}
}
return -1;
无需用的hashCode还是equals一塌糊涂。没有必要强迫指标为不为他们设计的流。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句