我有一个自定义类和一个该类类型的数组列表。现在,我想仅使用可用于我身上的其他属性中的一个ID来检索此数组列表中对象的索引。
网上看到了一些例子,但我有点困惑,因为它们覆盖了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
我将在列表中拥有与某个对象ID相等的MyClass对象的indexOf。
list.stream().filter(myClass -> myClass.getID().equals(someObjectsID))
以返回MyClass
类型,并调用结果的list.indexOf()
方法? - SupaJord