---
# System prepended metadata

title: '[Java] Lambda 與 Stream'
tags: [Java]

---

# [Java] Lambda 與 Stream 
###### tags: `Java`
[TOC]
## Lambda
### 優點
1. 好懂、易維護
2. 透過Interface增加函式的復用性（不用為了一個函式新增一個物件）
3. 參數化方法，可將函式當成參數使用。
4. 大勢所趨

### 範例
實作 Java Interface 中的方法有：
1. 類別顯式實作
2. 匿名實作
3. **當介面中只有一個方法時，可以用Lambda實作。**
:::info
💡 只有一個方法的介面，稱之為SAM(Single abstract Method)，或是Functional Interface。
:::


---
參考資料: https://outgoing-baboon-47c.notion.site/Java8-Lambda-Optional-Stream-API-915ddaf65f924a15a41e09c49f9b9828#6d6606e157a54dbda610fed2d8e26057