iT邦幫忙

2024 iThome 鐵人賽

DAY 16
0
JavaScript

Java程式實作系列 第 30

Java進階語法-7

  • 分享至 

  • xImage
  •  
  1. Lambda 表達式與函數式編程(Lambda Expressions and Functional Programming)

#Lambda 表達式介紹
在 Java 8 中,引入了 Lambda 表達式,這是一種簡化程式碼的語法,讓開發者能夠以更簡潔的方式撰寫函數式程式碼。Lambda 表達式的語法如下:

java
(parameters) -> expression

  • 參數:表示輸入的參數,可以是零個或多個。
  • 箭頭符號 (->):將參數與函數體分開。
  • 表達式或程式區塊:表示 Lambda 的功能實現,可以是單行的表達式或多行的程式區塊。

優勢
簡化代碼:Lambda 表達式可以取代匿名內部類,讓代碼更加簡潔和易讀。
增強可讀性:使用 Lambda 表達式可以更清晰地表達操作的意圖,特別是在集合的處理上。

#函數式介面
函數式介面是一種僅包含一個抽象方法的介面,可以使用 Lambda 表達式來實現。Java 8 提供了多個內建的函數式介面,常見的有:

  • Predicate:接受一個參數,返回布林值,常用於過濾操作。
  • Function<T, R>:接受一個參數,返回一個結果,常用於映射操作。
  • Consumer:接受一個參數,沒有返回值,常用於執行某些操作,如打印或寫入資料。
  • Supplier:不接受參數,返回一個結果,常用於生成某些值或物件。

示例:
使用 Predicate進行過濾:
java
List names = Arrays.asList("Alice", "Bob", "Charlie");
List filteredNames = names.stream()
.filter(name -> name.startsWith("A"))
.collect(Collectors.toList());https://ithelp.ithome.com.tw/upload/images/20241014/20169489Ec3KJUEbqD.jpg


上一篇
Java進階語法-6
系列文
Java程式實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言