min(Comparator)是否等于sort(Comparator).findFirst()?

时间:2015-07-29 03:03:20

标签: java java-8 java-stream

使用Stream<T>Comparator<? super T>

Stream<T> s;
Comparator<? super T> c;

s.sorted(c).findFirst();

等于等同于

s.min(c);

1 个答案:

答案 0 :(得分:9)

逻辑上,两个代码段都返回相同的结果。但是,typedef string Type; class Exercise { public: typedef double Type; Type setVal(Type); Type initVal() { return 1.0; } private: int val; }; Exercise::Type Exercise::setVal(Type parm) { val = parm + initVal(); return val; } 需要更多时间和更多内存,因为基于比较器的排序是O(n * log n)并且需要O(n)空间以避免在适当的位置进行排序,而搜索sorted则是O(n),需要O(1)空间。