gpt4 book ai didi

java - 使用一个属性在自定义列表中查找对象的 indexOf

转载 作者:太空狗 更新时间:2023-10-29 14:35:33 26 4
gpt4 key购买 nike

所以,我有一个自定义类和一个该类类型的数组列表。现在,我想在构成该类对象的其他属性中仅使用一个对我可用的 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

int i 将在列表中具有 ID 等于 someObjectsID 的 MyClass 对象的 indexOf

最佳答案

如果您愿意使用第三方库,您可以使用 detectIndex来自 Eclipse Collections .

int index = ListIterate.detectIndex(list, each -> each.getID().equals(someObjectsID));

如果列表是 MutableList 类型,detectIndex 方法可直接在列表上使用。

MutableList<MyClass> list = Lists.mutable.empty();
int index = list.detectIndex(each -> each.getID().equals(someObjectsID));

注意:我是 Eclipse Collections 的提交者

关于java - 使用一个属性在自定义列表中查找对象的 indexOf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56810827/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com