java发现列表中的值第一次超过另一个列表中的值
我有两个列表,我想在第二个列表的值开始高于第一个列表时找到索引。 e、 g:
List A: [6, 9, 15, 17, 18, 20]
List B: [5, 8, 14, 16, 19, 22]
列表B中的值高于列表a中相同索引中的值的索引为4
我尝试使用zip,然后是findFirst,但我不知道如何获取索引而不是元素
Streams.zip(listA, listB, Pair::of)
.findFirst(pair-> pair.getFirst() < pair.getSecond());
使用Java8有没有一种很好的方法
# 1 楼答案
我想我找到了一个方法:
# 2 楼答案
当然,您可以使用流。:-)返回索引的解决方案是使用
IntStream.range()
:这张照片是:
在实际使用中,您可能会以某种方式使用
OptionalInt
,例如它的ifPresent
或orElse
方法# 3 楼答案
您可以尝试以下方法: