从列表中根据条件查找索引号。

huangapple go评论138阅读模式
英文:

to find the index number from a list based on the condition

问题

如何找到列表中满足条件的对象的索引号

int index = list.indexOf(list.stream().filter(a -> a.getInfo().getDetails().getIndicator().equals("3")));
list.remove(index);

如果指示器为3,则需要获取索引值。

英文:

How to find the index number of an object in list satisfying the condition

int index = list.indexOf(list.stream().filter(a-> a.getInfo().getDetails().getIndicator().equals("3")));
  list.remove(index)

I need to get the index value if the Indicator is 3

答案1

得分: 2

因为你在问题代码中使用了list.remove(index),如果你想要移除满足条件的项目,就不需要获取索引然后按索引移除,只需要使用 removeIf(...)

list.removeIf(a -> a.getInfo().getDetails().getIndicator().equals("3"));
英文:

Since you included list.remove(index) in the question code, if you want to remove an item that satisfies a condition, don't get the index then remove by index, just use removeIf(...):

list.removeIf(a -> a.getInfo().getDetails().getIndicator().equals("3"));

答案2

得分: 1

你可以使用 IntStream 来根据索引迭代列表,并获取满足条件的对象的索引。

IntStream.range(0, list.size())
         .filter(i -> list.get(i).getInfo().getDetails().getIndicator().equals("3"))
         .findFirst()
         .orElse(-1); // 默认返回 -1
英文:

You can use IntStream to iterate the list based on index and get the index of satisfying the condition object

IntStream.range(0,list.size())
         .filter(i->list.get(i).getInfo().getDetails().getIndicator().equals("3"))
         .findFirst()
         .orElse(-1) // return -1 as default

答案3

得分: 0

用老式迭代器可以:

  • 在迭代时移除匹配的元素
  • 移除所有
for (Iterator<YourType> it = items.iterator(); it.hasNext(); ) {
    YourType element = it.next();
    if (element.getInfo().getDetails().getIndicator().equals("3"))
        it.remove();
}
英文:

With an oldschool iterator you can:

  • remove matching elements while iterating

  • remove all

      for(Iterator&lt;YourType&gt; it=items.iterator();it.hasNext();)
      {
      	YourType element=it.next();
      	if(element.getInfo().getDetails().getIndicator().equals(&quot;3&quot;))
      		it.remove();
      }
    

huangapple
  • 本文由 发表于 2020年8月20日 23:19:58
  • 转载请务必保留本文链接:https://go.coder-hub.com/63508234.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定