Atitit 實現java的linq 以及與stream api的比較
阿新 • • 發佈:2019-01-08
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會更加簡潔些。。
此外,在非資料查詢領域,使用
1.3. Java中的linq
Java 的jdk預設沒有實現linq api。只能第三方類庫實現了。
雖然java有個linq4j類庫,但是貌似編譯不過,不好使用,只好自己實現linq api即可。。
Java實現linq,主要利用static import
比如實現對一個list做group聚合查詢。。比如根據月份統計充值總金額
List result = Select(“month,sum(rechg) as total”).from(list).groupby(“month”).orderby(“total,desc”);
作者:: 綽號:老哇的爪子 (全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿爾 拉帕努伊 )
漢字名:艾提拉(艾龍), EMAIL:[email protected]
轉載請註明來源: http://blog.csdn.net/attilax
Atiend