iT邦幫忙

0

Java Lambda、Stream API的學習資源

最近在自學Java Lambda、Stream API,在網路上找到不少資源,不過似乎不少資源都是直接舉出問題或功能,然後就用很簡潔的語法來完成某個功能。例如遍歷某個list:

List<String> list = new ArrayList<>();
list.add("test1");
list.add("test2");
list.add("test3");
list.forEach(s -> System.out.println(s));

或是計算兩個整數的差:

Comparator<Integer> com= (x,y)->x-y;
int result = com.compare(5,2);

抑或是換個方式實作計算兩個整數的差:

Comparator<Integer> com= Math::substract;
int result = com.compare(5,2);

這樣學習,似乎只是在遇到問題後,把對應的語法記下來,一旦遇到沒有見過的問題或是功能就沒想法了。不過我在網路上尋找學習的資源,大都是長成這樣,所以我就遇到瓶頸了。

而且既然lambda或是stream API可以用很簡潔的方式來完成各種功能,那就表示其實一句code就隱藏了不少語意和邏輯在裡面,這部分我也很少看到相關的介紹,看久了就覺得自己好像只是在背語法,沒有真正理解這些語法的意義。

那請問有沒有其他資源,可以跳脫這種模式,用比較詳細的解說或是用更進階,可以一步步拆解來說明的例子來介紹lambda或是stream API語法呢??謝謝。

2 個回答

0
theRookie
iT邦新手 3 級 ‧ 2020-07-06 20:14:03

我超強,已經有了底子,想知道底層看這篇
https://zhuanlan.zhihu.com/p/28093333

我一個菜,但我有耐心,我想知道原理,但需要淺顯易懂看這篇
https://www.zhihu.com/question/20125256/answer/324121308

一堆文字是三小,我只要知道遍歷,過濾,怎麽用就好了,只要會用看這篇
https://blog.csdn.net/qq_37176126/article/details/81273195

我瞎機吧強一把的,我不想知道底層,我只想自己寫lambda,看這篇
https://www.zhihu.com/question/37872003/answer/1009015660

依您的需求看吧
可以的話給個最佳解,謝囉

我要發表回答

立即登入回答