android kotlin其它(二)集合、区间、操作符
来源:互联网 发布:筛子数据 编辑:程序博客网 时间:2024/06/05 03:55
集合
与大多数语言不同,Kotlin 区分可变集合和不可变集合(lists、sets、maps 等)
Kotlin 没有专门的语法结构创建 list 或 set。 要用标准库的方法,如 listOf()、 mutableListOf():可变、 setOf()、 mutableSetOf()。 在非性能关键代码中创建 map 可以用一个简单的惯用法来完成:mapOf(a to b, c to d)
List 和 set 有很多有用的扩展方法值得熟悉:
val items = listOf(1, 2, 3, 4)items.first() == 1items.last() == 4items.filter { it % 2 == 0 } // 返回 [2, 4]val rwList = mutableListOf(1, 2, 3)rwList.requireNoNulls() // 返回 [1, 2, 3]if (rwList.none { it > 6 }) println("No items above 6") // 输出“No items above 6”val item = rwList.firstOrNull()
区间
区间表达式由具有操作符形式 .. 的 rangeTo 函数辅以 in 和 !in 形成。
if (i in 1..10) { // 等同于 1 <= i && i <= 10 println(i)}
for (i in 4..1) print(i) // 什么都不输出
如果你想倒序迭代数字呢?也很简单。你可以使用标准库中定义的 downTo() 函数
for (i in 4 downTo 1) print(i) // 输出“4321”
能否以不等于 1 的任意步长迭代数字? 当然没问题, step() 函数有助于此
for (i in 1..4 step 2) print(i) // 输出“13”for (i in 4 downTo 1 step 2) print(i) // 输出“42”
转换操作符
“不安全的”转换操作符
通常,如果转换是不可能的,转换操作符会抛出一个异常。因此,我们称之为不安全的。 Kotlin 中的不安全转换由中缀操作符 as
val x: String = y as String
请注意,null 不能转换为 String 因该类型不是可空的, 即如果 y 为空,上面的代码会抛出一个异常。 为了匹配 Java 转换语义,我们必须在转换右边有可空类型,就像:
val x: String? = y as String?
“安全的”(可空)转换操作符
为了避免抛出异常,可以使用安全转换操作符 as?,它可以在失败时返回 null
val x: String? = y as? String
类型别名为现有类型提供替代名称。 如果类型名称太长,你可以另外引入较短的名称,并使用新的名称替代原类型名。
typealias
阅读全文
0 0
- android kotlin其它(二)集合、区间、操作符
- Kotlin学习笔记(十一)集合,区间
- Kotlin初探:Kotlin的集合操作符
- android kotlin其它(一)解构声明
- Kotlin开发Android笔记12:集合和函数操作符
- Kotlin for Android(九)Kotlin集合
- android kotlin与Java互操作(二)Java 中调用 Kotlin
- Kotlin 其他(二) --- 集合(Collections)
- kotlin学习day6:集合和操作符
- Kotlin Android 扩展(二)
- Kotlin基础(二) 基础类型和操作符
- kotlin学习笔记——集合及集合操作符
- Kotlin进阶之集合与区间
- kotlin集合操作符——总数操作符
- kotlin集合操作符——过滤操作符
- kotlin集合操作符——映射操作符
- kotlin集合操作符——元素操作符
- kotlin集合操作符——生产操作符
- Ubuntu 16.04开机数字键盘不亮解决方案
- Ajax的使用以及跨域
- Java后台之路(02)-MySql
- hdu 1057 A + B Again
- CXgrid 行列颜色设置
- android kotlin其它(二)集合、区间、操作符
- oracle plsql修改数据时ORA-01480: STR 绑定值的结尾 Null 字符缺失 的错误解决办法。
- Java 学习路线图
- 深入Collection之HashMap
- メール送受信
- 滚轮事件
- 浅析VO、DTO、DO、PO的概念、区别和用处
- Spring发送邮件小结(附源码)
- 数字 k 在排序数组 arr 中出现的次数