如何使用區間與數列

如何使用區間與數列

如果你想要在一串數列內指定區間跟範圍,你可以透過 .. 來進行操作,通常會搭配 in 來輔助。

說明

你可以簡單透過以下的方式來進行顯示。

if (i in 1..4) {  // 等同于 1 <= i && i <= 4
    print(i) // 1234
}

這個也可以用在日期。

val start = Date.valueOf("2017-01-01")
val end = Date.valueOf("2017-12-31")
val range = start..end
println(range) // 2017-01-01..2017-12-31

也可以拿來判斷是否在這個區間。

val range = 1..5
println("3 in range is ${3 in range}") // true
println("6 in range is ${6 in range}") // false

可以看到結果與否。

你也可以反向迭代。

for (i in 4 downTo 1) print(i)

你也可以選擇一次要前進幾個單位。

for (i in 1..8 step 2) print(i)

如果你想排除最後一個數字可以透過 util 這個函式。

for (i in 1 until 10) { // i in [1, 10), 10被排除
    print(i)
}

你也可以把它當成一個集合來進行操作。

println((1..10).filter { it % 2 == 0 })

參考資料

https://kotlinlang.org/docs/reference/ranges.html