采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
使用stream排序对于百万级别都是个位数毫秒,向;老师请教这个过程,自己看没看懂.
从排序原理上,stream.sort和这个课程中所介绍的排序算法并没有本质区别。事实上,排序算法,尤其是内存排序算法,已经几十年没有大的变革了。
你测试的stream的排序结果,应该是只运行了list.stream().sorted()以后的效率。但是,stream有一个很重要的特性就是“懒惰性”(Laziness)。可以理解成list.stream().sorted()并没有真正完成排序操作,只是完成了一些排序的“预处理”工作,之后对于stream中的元素,用起来“仿佛”是已经排了序一样,但是在使用中,还需要做更多工作才能“真正”完成这些排序。
可以尝试使用stream进行排序,然后对排序结果的每个元素进行一些操作(比如打印,虽然有些耗时;其实做一个空操作就可以),再测试一下性能试试看:)
当然,使用stream的另一个优势是可以方便的进行并行化处理。并行算法不是我们这个课程的内容,有兴趣可以在互联网上搜索更多相关资料进行学习:)
加油!
非常感谢!
一对stream处理 之后速度悬殊不大,谢谢.
登录后可查看更多问答,登录/注册
课程专为:短时间内应对面试、升职测评等艰巨任务打造
9.0k 21
5.8k 3
5.2k 5
1.5k 18
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号