Atitit 實現java的linq 以及與stream api的比較

來源:互聯網
上載者:User

標籤:1.2   mil   ota   mon   desc   static   利用   sum   漢字   

 

 

 

Atitit 實現java的linq 以及與stream api的比較

 

 

1.1. Linq 和stream api的關係,以及主要優缺點1

1.2. Linq 與stream api的適用情境1

1.3. Java中的linq1

 

 

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

 

比如實現對一個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://www.cnblogs.com/attilax/

Atiend

 

 

Atitit 實現java的linq 以及與stream api的比較

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.