サイトアイコン ハジカラ

【Kotlin入門】集合体で使用する関数〜リストとラムダ式

こんにちは😀

今回から、マップやリストである集合体で使われる関数をみていきます。

今回は、リストで関数(ラムダ式)を使用してみましょう。

以下は、main関数内にリストを持つ変数のlistAを作成します。
さらに、map関数を使用して、listAから要素を取り出し掛け算をしてlistB(ラムダ式)にセットしています。(4行目)

fun main(args: Array<String>) {

val listA = listOf(1,3,5)
val listB = listA.map{a->a*5}

println(“A:”+listA.toString())
println(“B:”+listB.toString())
}

ここでは、ラムダ式が「{}」を持っているので、map関数の「()」は省略できます。
もちろん、以下のように「()」を付けてもOKです。

val listB = listA.map({a->a*5})

実行しましょう。
listBの結果がlistAの要素を「*5」して出力されています。

また、以下のように省略して書くこともできます。
下の処理は、4,5行目と出力の9,10行目を追加しています。
4,5行目の「it」は、引数が1つの場合に暗黙に「it」という名前で引数を定義してくれます。
4行目は「a」と「it」に変えているだけですが、5行目のように「it」を使うことで引数が1つである場合「{it*5}」といった省略形を書くことができます。

fun main(args: Array<String>) {

・・・・・・(略)・・・・・・・
val listC = listA.map{it->it*5}
val listD = listA.map{it*5}

println(“A:”+listA.toString())
println(“B:”+listB.toString())
println(“C:”+listC.toString())
println(“D:”+listD.toString())
}

実行しましょう。
B、C、Dは同じ処理のため結果も同じく出力されています。

リストをmap関数を使用してラムダ式で拡張できるのは便利だと思いました。
また、ラムダ式の時点でだいぶ処理はスッキリしますが、今回使用した「it」を使用するとより処理が短くすることができます。

今回はここまで🤚

では、また次回。

 

【Kotlin入門一覧はこちら】

モバイルバージョンを終了