本篇文章同步发表在 HKT 线上教室 部落格,线上影音教学课程已上架至 Udemy 和 Youtube 频道。另外,想追踪更多相关技术资讯,欢迎到 脸书粉丝专页 按赞追踪喔~
今天要跟大家介绍 Kotlin 语法的内容大纲:
Java 集合有 List、Map、Set。Kotlin 也有 List、Map、Set,但 Kotlin 中的 List、Map、Set 只能读取,是无法进行修改,若需要可读可写,需使用 MutableList、MutableMap、MutableSet。
集合的方法:
List 集合特性:按照顺序排列,可以放重覆的物件
在 Kotlin 中的 List 只能一开始初始资料和事後读取该集合中的元素,之後不能进行增、删、修。
//宣告一个 List 集合,并初始化资料,kotlin 会根据资料,自动推断,资料型别
var lists = listOf(666,777,888)
//取出索引值为1的资料
println(lists[1])
若需要事後可以修改,需使用 MutableList 集合操作新增、移除、读取、全部删除资料:
//宣告一个 MutableList 资料型态为整数的集合变数
var mutableList: MutableList<Int> = mutableListOf()
//新增资料
mutableList.add(666)
mutableList.add(777)
mutableList.add(888)
println(mutableList)
//获取索引第二笔资料
mutableList[2]
println(mutableList[2])
//移除资料为 666 的资料(需要注意的是这里跟 Java 不同,此处移除不是根据索引笔数)
mutableList.remove(666)
println(mutableList)
//根据索引笔数删除方式
mutableList.remove(mutableList[1])
println(mutableList)
//删除全部 mutableList 内的资料
mutableList.clear()
println(mutableList)
Map 集合特性: 采 key、value 方式存放,key 唯一不能重覆。
在 Kotlin 中的 Map 只能一开始初始资料和事後读取元素,之後不能进行增、删、修。
val map = mapOf("1" to 666, "2" to 777)
println(map)
若需要事後可以修改,需使用 MutableMap 集合操作新增、移除、读取、全部删除资料:
var mutableMap: MutableMap<String, Int> = mutableMapOf()
//新增资料
mutableMap.put("1", 666)
mutableMap.put("2", 777)
mutableMap.put("3", 888)
println(mutableMap)
//移除资料
mutableMap.remove("1")
println(mutableMap)
//获取资料
mutableMap.get("2")
println(mutableMap.get("2"))
//删除所有资料
mutableMap.clear()
println(mutableMap)
Set 集合特性:没有特定顺序,且没有重覆的物件
在 Kotlin 中的 Set 只能一开始初始资料和事後读取元素,之後不能进行增、删、修。
var set = setOf(666,777,888)
println(set)
在 Kotlin 中,使用 MutableSet 集合操作新增、移除、读取、全部删除资料:
var mutableSet: MutableSet<Int> = mutableSetOf()
//新增资料
mutableSet.add(666)
mutableSet.add(777)
mutableSet.add(888)
println(mutableSet)
//移除资料
mutableSet.remove(666)
println(mutableSet)
//判断元素,是否包含在 Set 集合内
println(mutableSet.contains(666))
//清除所有资料
mutableSet.clear()
println(mutableSet)
// 宣告一个 listOf 集合
val course_titles = listOf("python", "java", "kotlin")
println(course_titles)// [python, java, kotlin]
//for 回圈,取出每个值
for (title in course_titles) {
println(title)
}
var x = 60
while (x > 0) {
println(x--)
}
HKT 线上教室
https://tw-hkt.blogspot.com/
Freepik
https://www.freepik.com/
Kotlin docs
https://kotlinlang.org/docs/home.html
那今天【iThome 铁人赛】就介绍到这边罗~
顺带一提,KT 线上教室,脸书粉丝团,会不定期发布相关资讯,不想错过最新资讯,不要忘记来按赞,追踪喔!也欢迎大家将这篇文章分享给更多人喔。
我们明天再见罗!!!掰掰~
<<: [重构倒数第28天] - 关於拆分 Components 的学问
>>: Day 03 Azure Virtual Machine- Windows 使用者的救星
现况访谈 旨在确认资安目标与导入范围 差异分析 在现况谈访中依据 ISMS 内建的 114 个控制项...
引言 昨天的题目让大家知道可以做反组译这件事, 其实这是一个大主题,归在逆向工程中, 该分类会大量...
一个服务发出讯息之後, 可以由多个服务分别注册多个channel来监听, 同一个TOPIC底下的每个...
第一次遇到发PR,原来就是档案修改後,发通知请原作来拉回去(Pull)的请求(Request) 1....
第4话 Agile 汇出 Part & BOM (2) 本篇讲解如何汇出BOM表 主料BOM...