forEachの使い方
forEach関数
Collectionに対してループ処理を行う構文としては、for
がある。
val list = listOf<String>("a", "b", "c")
for(s:String in list){
print("$s ")
}
似たような形で、Collectionの要素1つ1つに対する処理を実行したい場合はforEach関数を利用することができる。
val list = listOf<String>("a", "b", "c")
list.forEach { print("$it ") } // it : リストの要素1つを表す
関数なので、戻り値を返すことも可能。(ただし戻り値はUnit)
val list = listOf<String>("a", "b", "c")
val result = list.forEach { print("$it ") } // resultの値はUnit型
関数なので、breakは利用不可(continueは使える)。どうしてもbreakを利用したい場合はラベルとreturnによるループ停止を利用する。
val list = listOf<String>("a", "b", "c")
list.forEach {
if (it != "b") print("$it ")
else return@forEach // forEachに対してreturn(ループの終了)を行う
}
ただし、基本的にはループの制御が必要な場合などはforEachではなくfor文を利用した方が可読性が高くなる。