Java 8的Streams API和.Net的LINQ使用上最大的不同是什么

如题所述

Java 8 中的 Stream 是对集合(Collection)对象功能的增强,它专注于对集合对象进行各种非常便利、高效的聚合操作(aggregate operation),或者大批量数据操作 (bulk data operation)。Stream API 借助于同样新出现的 Lambda 表达式,极大的提高编程效率和程序可读性。同时它提供串行和并行两种模式进行汇聚操作,并发模式能够充分利用多核处理器的优势,使用 fork/join 并行方式来拆分任务和加速处理过程。通常编写并行代码很难而且容易出错, 但使用 Stream API 无需编写一行多线程的代码,就可以很方便地写出高性能的并发程序。所以说,Java 8 中首次出现的 java.util.stream 是一个函数式语言+多核时代综合影响的产物。 (摘自某博客)
Stream 就如同一个迭代器(Iterator),单向,不可往复,数据只能遍历一次
Stream不是ORM (对象关系映射)
linq有自己的语法,和lambda表达式不同。LINQ,语言集成查询(Language Integrated Query)是一组用于c#和Visual Basic语言的扩展,然后linq能访问多种类型的对象
lin的运用有多种:linq to 集合,linqtoxml,txt,doc,sql。。。等等,(ORM组件)
然后Stream中的lambda和.net里面的lambda有点类似
温馨提示:答案为网友推荐,仅供参考