Kotlin List與Set和Map實例講解
List
和 java 中的 list 幾乎一致;
getOrElse 取出對應(yīng)索引,如果該索引不存在或者為 null,就返回一個 lambda 函數(shù);
getOrNull 取出對應(yīng)索引,如果找不到就直接返回 null
val lis = listOf("abc", "asd", "qwe")
println(lis.getOrElse(0) { "cant find it" })
println(lis.getOrNull(0) ?: "null")
可變列表
我們默認(rèn)使用的 listof 創(chuàng)建的列表是無法進(jìn)行數(shù)據(jù)改動的;
此時就需要使用可變列表 mutableListOf
val mut = mutableListOf("a","b","c")
mut.add("k")
mut.removeAt(0)
可變列表和不可變列表還可以使用方法進(jìn)行相互轉(zhuǎn)換;
mut.toList(); // 轉(zhuǎn)為不可變列表 mut.toMutableList(); // 再轉(zhuǎn)回可變列表
mutator
任何可變列表都具有此屬性;
我們可以直接使用運算符進(jìn)行列表元素的增刪;
removeIf 表示移除掉符合條件的指定元素
mut += "tom"
mut -= "tom"
mut.removeIf { it.contains("tom") }
遍歷
目前有三種遍歷方式,優(yōu)缺點自己判斷;
不做過多解釋,看代碼就懂了
for (str: String in mut) {
println(str)
}
mut.forEach {
println(it)
}
mut.forEachIndexed { index: Int, s: String ->
println("$index + $s")
}set
set 集合中的元素會自動去重!
檢索 set 中的元素需要使用
val setdemo = setOf("asd", "wqe", "asd")
println(setdemo.elementAt(0))
可變集合
和可變列表一致,依葫蘆畫瓢即可;
val setmut = mutableSetOf("son","son","sun")
setmut += "damn"
setmut -= "son"
快速去重
目前有倆種方式:
list 轉(zhuǎn)為 set 然后再轉(zhuǎn)回 list;
使用函數(shù) distinct
// 二次轉(zhuǎn)換去重
val lis = mutableListOf("apple", "pear", "pear")
lis.toSet().toList()
// 函數(shù)去重
lis.distinct()列表類型的轉(zhuǎn)換
可以直接將列表轉(zhuǎn)換為數(shù)組
val intarr = intArrayOf(1, 2, 3) val intlist = listOf(1, 2, 3).toIntArray()
map
映射表
下面展示了兩種獲取指定 key 的 value 的方法
可變映射表這里不說了
val m = mapOf("map1" to "asd", "map2" to "qwe")
println(m.getValue("map1"))
println(m["map2"])
到此這篇關(guān)于Kotlin List與Set和Map實例講解的文章就介紹到這了,更多相關(guān)Kotlin List Set Map內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android Shader應(yīng)用開發(fā)之霓虹閃爍文字效果
這篇文章主要為大家詳細(xì)介紹了Android Shader應(yīng)用開發(fā)之霓虹閃爍文字效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
Android編程獲取系統(tǒng)隱藏服務(wù)實現(xiàn)鎖屏的方法
這篇文章主要介紹了Android編程獲取系統(tǒng)隱藏服務(wù)實現(xiàn)鎖屏的方法,涉及Android關(guān)于廣播,服務(wù),權(quán)限及鎖屏等操作的相關(guān)技巧,需要的朋友可以參考下2015-12-12
Android實例代碼理解設(shè)計模式SOLID六大原則
程序設(shè)計領(lǐng)域, SOLID (單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉(zhuǎn))是由羅伯特·C·馬丁在21世紀(jì)早期 引入的記憶術(shù)首字母縮略字,指代了面向?qū)ο缶幊毯兔嫦驅(qū)ο笤O(shè)計的基本原則2021-10-10
Android中導(dǎo)航組件Navigation的實現(xiàn)原理
大家好,本篇文章主要講的是Android中導(dǎo)航組件Navigation的實現(xiàn)原理,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下2022-02-02
Android應(yīng)用動態(tài)修改主題的方法示例
今天小編就為大家分享一篇關(guān)于Android應(yīng)用動態(tài)修改主題的方法示例,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
Android編程之ListPreference用法實例分析
這篇文章主要介紹了Android編程之ListPreference用法,結(jié)合實例形式較為詳細(xì)的分析說明了ListPreference的功能、用法及相關(guān)注意事項,需要的朋友可以參考下2015-12-12

