Atitit 实现java的linq 以及与stream api的比较

Atitit 实现javalinq 以及与stream api的比较

 

1.1. Linq stream api的关系,以及主要优缺点 1

1.2. Linq stream api的适用场景 1

1.3. Java中的linq 1

 

 

Linq来源于sql,而我们知道在数据查询领域,sql是标准化的一个dsl。。

1.1. Linq stream api的关系,以及主要优缺点

Stream更加的通用化,linq比较专一化,专注于数据查询的dsl。。Linq就是特殊化的stream。。

 

此外,linq更加的dsl ,更加方便简洁。。

stream相对底层一些,更加灵活,但是稍微啰嗦些。。

 

1.2. Linq stream api的适用场景

大部分场合linq更加好用,毕竟sql是标准化的数据查询dsl api。。

不过少部分场合,简单查询一个list的情况下,可能linq显得有点啰嗦,stream会更加简洁些。。

 

此外,在非数据查询领域,使用stream会更加好些。。

1.3. Java中的linq

Java jdk默认没有实现linq api。只能第三方类库实现了。

虽然java有个linq4j类库,但是貌似编译不过,不好使用,只好自己实现linq api即可。。

Java实现linq,主要利用static import

 

比如实现对一个listgroup聚合查询。。比如根据月份统计充值总金额

 

List result = Select(“month,sum(rechg) as total”).from(list).groupby(“month”).orderby(“total,desc”);

 

 

 

作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 ) 

汉字名:艾提拉(艾龙)   EMAIL:1466519819@qq.com

转载请注明来源: http://blog.csdn.net/attilax

Atiend

 

posted @ 2016-10-31 04:17  attilaxAti  阅读(42)  评论(0编辑  收藏  举报