有一个字符串数组
Integer index = null;
String [] re = {"one", "two", "three"};
Integer size = re.length;
for(int i = 0; i < size; i++) {
if(re[i].equals(text)) {
resultIndex = i;
}
}
如何使用stream api重写此代码?
答案 0 :(得分:0)
每当需要使用循环索引时,流等效通常从IntStream.range
开始。在这种情况下,代码看起来像
OptionalInt index = IntStream.range(0, re.length).filter(i -> re[i].equals(text)).findFirst();
尽管回答了你的问题,但我认为你被要求通过流替换所有的for循环是不合理的。在许多情况下,for循环更易于读写。
另请注意,在这种情况下,根本不需要使用for循环或流,因为您可以简单地执行
int index = Arrays.asList(re).indexOf(text);