※本サイトで紹介している商品・サービス等の外部リンクには、アフィリエイト広告が含まれる場合があります。

9-1. 標準ライブラリ関数、ビルトイン関数

概要

Kotlin は、開発を効率化し、コードの可読性を向上させるための豊富な標準ライブラリ関数とビルトイン関数を備えています。
これらの関数は、 コレクション操作、 文字列処理、 数値計算など、 様々なタスクを簡潔に実行するのに役立ちます。

標準ライブラリ関数とビルトイン関数の違い

標準ライブラリ関数は、Kotlin の標準ライブラリに含まれる関数です。これらは特定のクラスやオブジェクトに関連付けられていません。
一方、 ビルトイン関数は、Kotlin 言語自体に組み込まれた関数であり、任意のコンテキストで使用できます。

これらは、多数あるので、代表的な関数/キーワードのみをいくつか記載します。

代表的な関数/キーワード概要種類
filterコレクションから条件に合致する要素のみを抽出標準ライブラリ関数
mapコレクションの各要素に関数を適用し、新しいコレクションを作成標準ライブラリ関数
forEachコレクションの各要素に対して指定した処理を実行標準ライブラリ関数
reduceコレクションの要素を左から右へ順に処理し、単一の値に集約標準ライブラリ関数
sortedコレクションをソートして新しいコレクションを作成標準ライブラリ関数
anyコレクションに条件に合致する要素が少なくとも1つ存在するかどうかを判定標準ライブラリ関数
allコレクションのすべての要素が条件に合致するかどうかを判定標準ライブラリ関数
substring文字列から指定した範囲の部分文字列を抽出標準ライブラリ関数
replace文字列内の指定した部分を別の文字列に置換標準ライブラリ関数
split文字列を指定した区切り文字で分割してリストを作成標準ライブラリ関数
trim文字列の先頭と末尾の空白文字を削除標準ライブラリ関数
startsWith文字列が指定した文字列で始まるかどうかを判定標準ライブラリ関数
endsWith文字列が指定した文字列で終わるかどうかを判定標準ライブラリ関数
abs数値の絶対値を返す標準ライブラリ関数
maxOf複数の数値の中から最大値を返す標準ライブラリ関数
minOf複数の数値の中から最小値を返す標準ライブラリ関数
round数値を最も近い整数に丸める標準ライブラリ関数
ceil数値以上の最小の整数を返す標準ライブラリ関数
floor数値以下の最大の整数を返す標準ライブラリ関数
toInt数値を整数に変換する標準ライブラリ関数
toString任意のオブジェクトを文字列に変換する標準ライブラリ関数
toDouble数値を倍精度浮動小数点数に変換する標準ライブラリ関数
toList任意のシーケンスをリストに変換する標準ライブラリ関数
if条件分岐を実行するビルトイン
when複数の条件分岐を実行するビルトイン
for繰り返し処理を実行するビルトイン
while条件が真である間、繰り返し処理を実行するビルトイン
try-catch例外処理を実行するビルトイン
println指定した値を標準出力に出力するビルトイン関数
readLine標準入力から1行読み込むビルトイン関数
SimpleDateFormat日付や時刻をフォーマットする標準ライブラリ関数
Thread新しいスレッドを作成して実行する標準ライブラリ関数

コレクション操作

filter

filter : コレクションから条件に合致する要素のみを抽出して新しいコレクションを作成します。

val numbers = listOf(1, 2, 3, 4, 5, 6)
val evenNumbers = numbers.filter { it % 2 == 0 }  // [2, 4, 6]

map

map : コレクションの各要素に関数を適用し、新しいコレクションを作成します。

val numbers = listOf(1, 2, 3)
val squaredNumbers = numbers.map { it * it }  // [1, 4, 9]

forEach

forEach : コレクションの各要素に対して指定した処理を実行します。

val names = listOf("Alice", "Bob", "Charlie")
names.forEach { println("Hello, $it!") }

reduce

reduce (標準ライブラリ関数) コレクションの要素を左から右へ順に処理し、 単一の値に集約します。

val numbers = listOf(1, 2, 3, 4, 5)
val sum = numbers.reduce { acc, num -> acc + num }  // 15

sorted

sorted : コレクションをソートして新しいコレクションを作成します。

val numbers = listOf(5, 2, 8, 1, 3)
val sortedNumbers = numbers.sorted()  // [1, 2, 3, 5, 8]

any

any : コレクションに条件に合致する要素が少なくとも1つ存在するかどうかを判定します。

val numbers = listOf(1, 2, 3, 4, 5)
val hasEvenNumber = numbers.any { it % 2 == 0 }  // true

all

all : コレクションのすべての要素が条件に合致するかどうかを判定します。

val numbers = listOf(2, 4, 6, 8)
val allEven = numbers.all { it % 2 == 0 }  // true

文字列処理

substring

substring : 文字列から指定した範囲の部分文字列を抽出します。

val text = "Hello, world!"
val subText = text.substring(7, 12)  // "world"

replace

replace : 文字列内の指定した部分を別の文字列に置換します。

val text = "Hello, world!"
val newText = text.replace("world", "Kotlin")  // "Hello, Kotlin!"

split

split : 文字列を指定した区切り文字で分割してリストを作成します。

val text = "apple,banana,orange"
val fruits = text.split(",")  // ["apple", "banana", "orange"]

trim

trim : 文字列の先頭と末尾の空白文字を削除します。

val text = "  Hello, world!  "
val trimmedText = text.trim()  // "Hello, world!"

startsWith

startsWith : 文字列が指定した文字列で始まるかどうかを判定します。

val text = "Hello, world!"
val startsWithHello = text.startsWith("Hello")  // true

endsWith

endsWith : 文字列が指定した文字列で終わるかどうかを判定します。

val text = "Hello, world!"
val endsWithWorld = text.endsWith("world!")  // true

数値計算

abs

abs : 数値の絶対値を返します。

val number = -10
val absoluteValue = number.abs()  // 10

maxOf

maxOf : 複数の数値の中から最大値を返します。

val max = maxOf(10, 5, 20)  // 20

minOf

minOf : 複数の数値の中から最小値を返します。

val min = minOf(10, 5, 20)  // 5

round

round : 数値を最も近い整数に丸めます。

val number = 3.14159
val roundedNumber = number.roundToInt()  // 3

ceil

Ceil : 数値以上の最小の整数を返します。

val number =3.14159
val ceilNumber = ceil(number)  // 4.0

floor

floor : 数値以下の最大の整数を返します。

val number = 3.14159
val floorNumber = floor(number)  // 3.0

型変換

toInt

toInt : 数値を整数に変換します。

val number = 3.14159
valintNumber = number.toInt()  // 3

toString

toString : 任意のオブジェクトを文字列に変換します。

val number = 123
val text = number.toString()  // "123"

toDouble

toDouble : 数値を倍精度浮動小数点数に変換します。

val number = 123
val doubleNumber = number.toDouble()  // 123.0

toList

toList : 任意のシーケンスをリストに変換します。

val numbers = 1..5
val numberList = numbers.toList()  // [1, 2, 3, 4, 5]

制御フロー

if

if : 条件分岐を実行します。

val number = 10
if (number > 0) {
    println("正の数です")
} else if (number < 0) {
    println("負の数です")
} else {
    println("ゼロです")
}

when

when : 複数の条件分岐を実行します。

val number = 2
when (number) {
    1 -> println("1です")
    2 -> println("2です")
    else -> println("その他です")
}

for

for : 繰り返し処理を実行します。

for (i in 1..5) {
    println(i)
}

while

while : 条件が真である間、繰り返し処理を実行します。

var i = 1
while (i <= 5) {
    println(i)
    i++
}

try-catch

try-catch : 例外処理を実行します。

try {
    // 例外が発生する可能性のある処理
} catch (e: Exception) {
    // 例外が発生した場合の処理
}

その他

println

println : 指定した値を標準出力に出力します。

println("Hello, world!")

readLine

readLine : 標準入力から1行読み込みます。

val input = readLine()

SimpleDateFormat

SimpleDateFormat : 日付や時刻をフォーマットします。

val format = SimpleDateFormat("yyyy-MM-dd HH:mm:ss")
val dateString = format.format(Date())

Thread

Thread : 新しいスレッドを作成して実行します。

Thread {
    println("新しいスレッドで実行中")
}.start()

公式ドキュメント

より詳細な情報については、 Kotlin 公式ドキュメント を参照してください。

https://kotlinlang.org/api/latest/jvm/stdlib/