Kotlin - IntRange(..ドット2つ)
公開日:2019-11-06 更新日:2019-11-06
[Kotlin]
1. 概要
IntRange を使用すると、値の範囲を表すことができます。
連番の取得、数値が範囲に含まれているかどうかなどのチェックが行えます。
また、「..」を使って、「{開始値}..{終了値}」のように書くこともできます。
連番の取得、数値が範囲に含まれているかどうかなどのチェックが行えます。
また、「..」を使って、「{開始値}..{終了値}」のように書くこともできます。
2. IntRange
var lst = IntRange(0, 5)
lst.forEach {
n -> print(n)
}
//結果:012345
step() で増減数を設定します。
var lst = IntRange(1, 10).step(2)
for (n in lst) {
print(n)
}
//結果:13579
reversed() が順序を逆にします。
var lst = IntRange(1, 9).reversed().step(2)
for (n in lst) {
print(n)
}
//結果:97531
最大、最小、合計、要素数、平均を取得します
var lst = IntRange(5, 10)
println(lst.max()) // 最大:10
println(lst.min()) // 最小:5
println(lst.sum()) // 合計:45
println(lst.count()) // 要素数:6
println(lst.average()) // 平均:7.5
指定した数値が範囲内にあるかどうかを判定します。
var lst = IntRange(5, 10)
println(lst.contains(4)) // false
println(lst.contains(5)) // true 範囲内
println(lst.contains(10)) // true 範囲内
println(lst.contains(11)) // false
3. 「..」による書き方
IntRange() は「..」を使って書くこともできます。
for でも使えます。
変数で範囲を指定することもできます。
char を使うこともできます。
println(4 in 5..10) // false 範囲外
println(5 in 5..10) // true 範囲内
println((5..10).max()) // 最大:10
println((5..10).javaClass.name) // kotlin.ranges.IntRange
for でも使えます。
for (i in 0..9) print(i) // 0123456789
println("")
for (i in 0..9 step 2) print(i) // 02468
println("")
// 逆順でループ
for (i in 9 downTo 0 step 2) print(i) // 97531
変数で範囲を指定することもできます。
val fromNo = 0
val toNo = 9
(fromNo..toNo).forEach{n -> print(n) } // 0123456789
char を使うこともできます。
('a'..'z').forEach{n -> print(n) } // abcdefghijklmnopqrstuvwxyz