ループ処理 while, for, forEach, map

  • 投稿者:
  • 投稿カテゴリー:その他

while

val guestsPerFamily = listOf(2, 4, 1, 3)
var totalGuests = 0
var index = 0
while (index < guestsPerFamily.size) {
    totalGuests += guestsPerFamily[index]
    index++
}
println("Total Guest Count: $totalGuests")

for

val cakes = listOf("carrot", "cheese", "chocolate")
for (cake in cakes) {                               // 1
    println("Yummy, it's a $cake cake!")
}

// 5回繰り返す
for (item in 1..5) print(item) // Range of numbers

// 5から降順
for (item in 5 downTo 1) print(item) // Going backward

// step2
for (item in 3..6 step 2) print(item) // Prints: 35

// アルファベット順での繰り返し
for (item in 'b'..'g') print(item) // Range of characters in an alphabet

forEach

forEach

forEachのitは現在の項目

// MutableMapを定義
val peopleAges = mutableMapOf<String, Int>(
    "Fred" to 30,
    "Ann" to 23
)

// itは現在の項目
peopleAges.forEach { println("${it.key} is ${it.value}, ") }

map

map
map関数で新しくコレクションを作成する
コレクションとしてのMapや辞書とは異なる関数

// MutableMapを定義
val peopleAges = mutableMapOf<String, Int>(
    "Fred" to 30,
    "Ann" to 23
)
// itは現在の項目
println(peopleAges.map { "${it.key} is ${it.value}" }.joinToString(", ") )

filter

filterは{ }内の条件に一致するアイテムを抽出する

// MutableMapを定義
val peopleAges = mutableMapOf<String, Int>(
    "Fred" to 30,
    "Ann" to 23
)
val filteredNames = peopleAges.filter { it.key.length < 4 }
println(filteredNames)

トレーニング > KOTLIN を用いた ANDROID の基本 > レイアウト > スクロール可能なリスト > Kotlinでリストを使用する > 4. リストをループする

トレーニング > KOTLIN を用いた ANDROID の基本 > ナビゲーション > 画面の移動 > Kotlinのコレクション > 3. コレクションの操作