Kotlin List與Set和Map實(shí)例講解
List
和 java 中的 list 幾乎一致;
getOrElse
取出對(duì)應(yīng)索引,如果該索引不存在或者為 null,就返回一個(gè) lambda 函數(shù);
getOrNull
取出對(duì)應(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ù)改動(dòng)的;
此時(shí)就需要使用可變列表 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
任何可變列表都具有此屬性;
我們可以直接使用運(yùn)算符進(jìn)行列表元素的增刪;
removeIf
表示移除掉符合條件的指定元素
mut += "tom" mut -= "tom" mut.removeIf { it.contains("tom") }
遍歷
目前有三種遍歷方式,優(yōu)缺點(diǎn)自己判斷;
不做過多解釋,看代碼就懂了
for (str: String in mut) { println(str) } mut.forEach { println(it) } mut.forEachIndexed { index: Int, s: String -> println("$index + $s") }
set
set 集合中的元素會(huì)自動(dòng)去重!
檢索 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實(shí)例講解的文章就介紹到這了,更多相關(guān)Kotlin List Set Map內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
android TextView設(shè)置中文字體加粗實(shí)現(xiàn)方法
android TextView設(shè)置中文字體加粗如何實(shí)現(xiàn),接下來介紹實(shí)現(xiàn)方法,有需要的朋友可以參考下2013-01-01Android10 App 啟動(dòng)分析進(jìn)程創(chuàng)建源碼解析
這篇文章主要為大家介紹了Android10 App啟動(dòng)分析進(jìn)程創(chuàng)建源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10AndroidGUI27中findViewById返回null的快速解決辦法
這篇文章主要介紹了AndroidGUI27中findViewById返回null的快速解決辦法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06Android編程實(shí)現(xiàn)Gallery中每次滑動(dòng)只顯示一頁的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)Gallery中每次滑動(dòng)只顯示一頁的方法,涉及Android擴(kuò)展Gallery控件實(shí)現(xiàn)翻頁效果控制的功能,涉及Android事件響應(yīng)及屬性控制的相關(guān)技巧,需要的朋友可以參考下2015-11-11Android使用HorizontalScrollView實(shí)現(xiàn)水平滾動(dòng)
這篇文章主要為大家詳細(xì)介紹了Android使用HorizontalScrollView實(shí)現(xiàn)水平滾動(dòng),并點(diǎn)擊有相應(yīng)的反應(yīng)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Android Button按鈕點(diǎn)擊背景和文字變化操作
這篇文章主要介紹了Android Button按鈕點(diǎn)擊背景和文字變化操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-08-08