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

获取与谓词匹配的元素的索引[重复]

上官彬
2023-03-14

我知道如何通过谓词查找列表的第一个元素:Java8通过谓词查找第一个元素

有没有一种简单的方法可以得到那个元素的索引?

编辑:链接的问题确实提供了答案,但我在搜索时找不到它,因为它的措辞。因此,我宁愿保留这个问题。

共有1个答案

锺离珂
2023-03-14

如果我理解正确的话,这就是需要intstream的典型情况;但这显然只适用于一份名单。

IntStream.range(0, yourList.size())
   .filter(i -> yourList.get(i)... your filter condition)
   .collect(Collectors.toList());
 类似资料:
  • 以下是更详细的错误消息: 我将代码中的问题隔离在下面的某个地方,尽管我不知道抛出这个异常的具体原因: gradle.build-项目

  • 我有一个对象列表,我想找到一个具有特定属性值的元素的索引。 例如 我知道用for循环写一个很容易,但是有没有任何现有的简单方法来做到这一点,比如流或任何库Util?

  • 问题内容: 我想要一种惯用的方式来找到与谓词匹配的列表中的第一个元素。 当前代码非常丑陋: 我已经考虑过将其更改为: 但是必须有一些更优雅的方法……如果返回一个值而不是没有找到匹配项引发异常,那将是一个很好的选择。 我知道我可以像这样定义一个函数: 但是,如果已经有内置的插件开始用这样的实用函数填充代码,这是很鸡肋的(人们可能不会注意到它们已经在那里,因此随着时间的推移它们会不断重复出现)。 问题

  • 问题内容: 我有一个。我想获取具有特定用户名的流中(第一个)用户的索引。我并不想实际上要求对它们进行描述,而只是具有相同的用户名。 我可以想到执行此操作的丑陋方法(重复和计数),但是感觉应该有一个不错的方法可以执行此操作,可能是使用Streams。到目前为止,我拥有的最好的是: 这不是我写过的最糟糕的代码,但这不是很好。它也不是那么灵活,因为它依赖于一个映射类型的函数,该函数具有描述您要寻找的属性

  • 这不是我写过的最糟糕的代码,但也不是很好。它也不是那么灵活,因为它依赖于一个映射函数到一个带有函数的类型,该函数描述了您要查找的属性;我更希望有一个可以用于任意的东西 有人知道怎么做吗?

  • 如何在流中获得第一个匹配条件的元素?我试过了,但不起作用 如果条件不起作用,则在Stop以外的其他类中调用filter方法。