当前位置: 首页 > 知识库问答 >
问题:

返回ArrayList中包含某个字段[duplicate]的元素索引

白彦
2023-03-14
class Object() {
    String name;
    double price;
    int id;
}
public int findIndex(ArrayList<Object> list, String name) {
    for(Object o : list) {
        if (o.getName().equals(name) {
            //return index
        }
    }
}

返回索引的好方法是什么?

共有1个答案

狄玮
2023-03-14

可以使用Indexed-For-Loop迭代列表:

for(int i = 0; i < list.size(); i++) { 
    if (list.get(i).getName().equals(name)) { 
        return i; 
    } 
} 
return -1;

或者在想要使用for-each循环时只使用一个计数变量

int i = 0;
for(Object o : list) {
    if (o.getName().equals(name)) {
        return i;
    }
    i++;
}
return -1;

或者使用Java-8流:

return IntStream.range(0, list.size())
    .filter(i -> list.get(i).getName().equals(name))
    .findFirst()
    .orElse(-1);
 类似资料:
  • 问题内容: 我可能在这里找不到一个简单的单行代码,但这是我的问题: 如何检查ArrayList是否包含另一个ArrayList中的所有对象?我正在寻找(如果存在的话)类似的东西: 例如: 问题答案: 接口中有一个声明的方法。在您的设置中给出所需的答案。

  • 主要内容:对无序数组的查询,对有序数组的查询在实际开发中,经常需要查询数组中的元素。例如,学校为每位同学分配了一个唯一的编号,现在有一个数组,保存了实验班所有同学的编号信息,如果有家长想知道他的孩子是否进入了实验班,只要提供孩子的编号就可以,如果编号和数组中的某个元素相等,就进入了实验班,否则就没进入。 不幸的是,C语言标准库没有提供与数组查询相关的函数,所以我们只能自己编写代码。 对无序数组的查询 所谓无序数组,就是数组元素的排列没有规律

  • 我试图找到正确的xpath表达式来选择包含特定文本的元素的父元素。 在下面的示例中,我希望选择文本匹配为“4”或任何其他数字的“span”元素,并且父元素与文本“Rooms”匹配: 我的XPath示例-匹配“div”元素中的每个“span” 源代码 我想要的是选择包含数字4的“span”元素作为文本,但html可能会更改,可能只有两个或一个“span”元素,如下例所示: 或

  • 运行查询后,我从MongoDB返回一个JSON值。问题是我不想返回与我的返回相关的所有JSON,我尝试搜索文档,但没有找到正确的方法。我想知道如果可能的话会怎样,如果可能的话,正确的做法是什么。示例:在数据库中 如果某个字段为用户存在,但不返回另一个字段,那么返回该字段的正确方式是什么。对于上面的示例,我想返回RMS的字段和扎克伯格的字段。这就是我试图找到的字段是否为空,但它似乎不起作用。

  • 我试图在ElasticSearch中运行类似的字段查询: