我想检查 Java-8-Stream 中两个元素的顺序。 我有这个迭代器解决方案:
public static boolean isBefore (A a1,
A a2,
Stream<A> as) {
Iterator<A> it = as.iterator ();
while (it.hasNext ()) {
A a = it.next ();
if (a == a1) {
return true;
} else if (a == a2) {
return false;
}
}
throw new IllegalArgumentException (
a1 + " and + " a2 + " arent elements of the stream!");
}
有没有更函数式/非命令式风格的没有迭代器的解决方案?
最佳答案
可能是这样的
as.filter (a -> (a==a1) || (a==a2)).findFirst ()
然后检查结果是a1还是a2还是空的。 对不起,我没有给出完整的解决方案,如果从我的智能手机上很难做到
关于java - 检查 Java-8-Stream 中两个元素的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24140758/