Kotlinにおける**高階関数(High-order Function)**とは、関数を引数として受け取ったり、関数を戻り値として返す関数のことを指します。関数が第一級市民(first-class citizen)であるKotlinにおいては、高階関数は関数型プログラミングを実現するための基本的な機能です。
1. 高階関数の定義
高階関数は、以下のような形で定義されます:
この関数 myFilter は、
-
list: フィルタ対象のリスト -
predicate: 要素を評価する関数(T) -> Boolean
を引数として受け取ります。
2. 使用例
高階関数を使って偶数だけを抽出する例です:
または、ラムダ式を直接渡すこともできます:
3. 関数を返す高階関数
関数を戻り値とする例もあります:
この場合、multiplier(3) は Int -> Int 型の関数(3倍する関数)を返しています。
4. Kotlin 標準ライブラリでの利用例
Kotlinの標準ライブラリには高階関数が多数含まれています。たとえば:
-
map: 各要素に関数を適用 -
filter: 条件に合う要素だけを抽出 -
forEach: 各要素に処理を適用
5. 利用上のポイント
-
高階関数を使うとコードの抽象化や再利用性の向上が可能になります。
-
ラムダ式と組み合わせることで、より簡潔に書けます。
-
インライン化(
inline修飾子)を使うことでパフォーマンスを向上させることもできます。
まとめ
高階関数は、
-
関数を引数として受け取る
-
関数を戻り値として返す
という特徴を持ち、Kotlinにおいて柔軟で強力な関数型プログラミングを支える重要な構文です。標準ライブラリにも多く使われており、実践的にも頻繁に登場します。
生成日:2025/05/04