请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

使用stream排序对于百万级别都是个位数毫秒,向;老师请教这个过程,自己看没看懂.

使用stream排序对于百万级别都是个位数毫秒,向;老师请教这个过程,自己看没看懂.


正在回答

插入代码

1回答

从排序原理上,stream.sort和这个课程中所介绍的排序算法并没有本质区别。事实上,排序算法,尤其是内存排序算法,已经几十年没有大的变革了。


你测试的stream的排序结果,应该是只运行了list.stream().sorted()以后的效率。但是,stream有一个很重要的特性就是“懒惰性”(Laziness)。可以理解成list.stream().sorted()并没有真正完成排序操作,只是完成了一些排序的“预处理”工作,之后对于stream中的元素,用起来“仿佛”是已经排了序一样,但是在使用中,还需要做更多工作才能“真正”完成这些排序。


可以尝试使用stream进行排序,然后对排序结果的每个元素进行一些操作(比如打印,虽然有些耗时;其实做一个空操作就可以),再测试一下性能试试看:)


当然,使用stream的另一个优势是可以方便的进行并行化处理。并行算法不是我们这个课程的内容,有兴趣可以在互联网上搜索更多相关资料进行学习:)


加油!

1 回复 有任何疑惑可以回复我~
  • 提问者 慕无忌0267678 #1
    非常感谢!
    回复 有任何疑惑可以回复我~ 2018-06-05 18:29:51
  • 提问者 慕无忌0267678 #2
    一对stream处理  之后速度悬殊不大,谢谢.
    回复 有任何疑惑可以回复我~ 2018-06-05 19:48:12
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号