1
我想檢查Java-8-Stream中兩個元素的順序。 我有這個迭代器解決方案:檢查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!");
}
有沒有迭代器的解決方案中更多的功能/非必要的風格?
其實我甚至不確定有第一種方法,但限制(1)也可以做這項工作 – Eran
' findFirst()'返回一個'Optional',如果兩個都沒有被找到,它將是空的,即不是'null'。請參閱http://docs.oracle.com/javase/8/docs/api/java/util/stream/Stream.html#findFirst-- – Holger
@Holger感謝您的編輯。我離開我的電腦,無法檢查API來驗證方法名稱。 – Eran