Step into Kotlin - 10 - 映射及多重声明
来源:互联网 发布:淘宝上一次性口罩 编辑:程序博客网 时间:2024/06/08 01:10
目录
- Map 及多重声明
- Map
- 构造映射
- 访问元素
- 更新元素
- 可变映射
- 不可变映射
- 遍历
- 多重声明
- Map
- Map 及多重声明
摘要
创建不可变映射,创建可变映射,访问元素,更新元素,遍历,多重声明
Map 及多重声明
Map
构造映射
不可变映射
val map = mapOf("a" to 1, "b" to 2, "c" to 3)
可变映射
val mMap = hashMapOf("a" to 1, "b" to 2, "c" to 3)
访问元素
mMap.get("d")
如果试图访问不存在的 key
时,会抛出 NullPointerException
异常,所以需要在访问前先进行判断
val x = if (mMap.containsKey("e")) mMap.get("e") else 0
也可以使用上述的简写方式
mMap.getOrDefault("e", 10)
更新元素
可变映射
更新或插入新元素
mMap.put("d", 20)
删除元素
mMap.remove("c")
不可变映射
不可变映射不可以被修改
遍历
遍历 entry
for ((k, v)in map) { println("$k -> $v")}
只遍历 key 或 value
val keys = map.keySet()val values = map.values()for (k in keys) {}
多重声明
只要类实现了 componentN()
方法,该类的对象就可以实现多重构造
class Person(val name: String, val age: Int) { fun component1(): String { return name } fun component2(): Int { return age }}val person = Person("Jane", 20)val (name, age) = person // 多重声明val pname = person.component1()println(name.toString() + ", " + age + ", " + pname) // Jane, 20, Jane
以上 Person 实现了 component1
和 component2
方法,所以多重声明时第一个参数赋值给 name,第二个参数赋值给 age。
1 0
- Step into Kotlin - 10 - 映射及多重声明
- Kotlin - - - 映射及多重声明
- Step into Kotlin
- Step into Kotlin - 01 - 入门
- Step into Kotlin - 02 - 数据类型
- Step into Kotlin - 04 - 函数
- Step into Kotlin - 06 - 异常
- Step into Kotlin - 08 - 数组
- Step into Kotlin - 09 - 集合
- Step into Kotlin - 11 - 类
- Step into Kotlin - 13 - 包
- Step into Kotlin - 14 - 继承
- Step into Kotlin - 15 - 注解
- Step into Kotlin - 17 - 泛型
- Step into Kotlin - 22 - Xml
- Step into Kotlin - 24 - delegate
- Step into Kotlin - 05 - 流程控制
- Step into Kotlin - 12 - Object 与枚举
- 饭后为什么不宜喝冷饮?
- 小暑7/7食谱
- poj 1941 The Sierpinski Fractal 递归
- [游戏安全] Unity3D游戏无意中的发现
- 课程设计.图书信息管理系统
- Step into Kotlin - 10 - 映射及多重声明
- 【剑指Offer学习】【面试题41:和为s 的两个数字vs 和为s 的连续正数序列】
- 上传APP添加视频预览--精简点名
- 基于C语言sprintf函数的深入理解
- [Objective-C] assign/retain/copy 详解
- 2015070705 - EffactiveJava笔记 - 第15条 使可变性最小(2)
- 黑马程序员---OC基础---类的声明和实现
- 说的很清楚:限制对象只能建立在堆上或者栈上
- NYOJ 98 成绩转换