我想存储< 4.1, 29..35 >
之类的键值对,我可以使用HashMap<Double, Range<Int>>
来存储:
val womanMap: HashMap<Double, Range<Int>> = hashMapOf()
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
fun createMap() {
//This both requires API 21
val range = Range(29,35)
womanMap[4.6] = Range.create(29,35)
}
如何在API级别21下执行此操作?
答案 0 :(得分:5)
Range
是Android SDK中的一个类,它与API 21相关联。但您可以使用Kotlin标准库提供的IntRange
。
您可以找到Kotlin范围here的使用示例。
以下是他们的基本用法:
val range = 1..10 // creation
println(range.first) // 1
println(range.last) // 10
println(5 in range) // true
答案 1 :(得分:4)
改为使用IntRange
:
val womanMap: HashMap<Double, IntRange> = hashMapOf()
@RequiresApi(Build.VERSION_CODES.LOLLIPOP)
fun createMap() {
val range = 29..35
womanMap[4.6] = 29..35
}
请注意,29..35
是已关闭区间:
for (a in 29..35) print("$a ") // >>> 29 30 31 32 33 34 35
要创建不包含其结束元素的范围,请使用29 until 35
:
for (a in 29 until 35) print("$a ") // >>> 29 30 31 32 33 34
有关详细信息:Ranges