最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Kotlin List與Set和Map實(shí)例講解

 更新時(shí)間:2022年10月10日 10:14:48   作者:知奕奕  
集合是可變數(shù)量(可能為0)的一組條目,kotlin標(biāo)準(zhǔn)庫提供一個(gè)整套用于集合管理的工具,各種集合對(duì)于解決問題都具有重要意義,并且經(jīng)常用到。kotlin中的集合與Java基本類似

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 Shader應(yīng)用開發(fā)之霓虹閃爍文字效果

    Android Shader應(yīng)用開發(fā)之霓虹閃爍文字效果

    這篇文章主要為大家詳細(xì)介紹了Android Shader應(yīng)用開發(fā)之霓虹閃爍文字效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Android編程獲取系統(tǒng)隱藏服務(wù)實(shí)現(xiàn)鎖屏的方法

    Android編程獲取系統(tǒng)隱藏服務(wù)實(shí)現(xiàn)鎖屏的方法

    這篇文章主要介紹了Android編程獲取系統(tǒng)隱藏服務(wù)實(shí)現(xiàn)鎖屏的方法,涉及Android關(guān)于廣播,服務(wù),權(quán)限及鎖屏等操作的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • Android實(shí)例代碼理解設(shè)計(jì)模式SOLID六大原則

    Android實(shí)例代碼理解設(shè)計(jì)模式SOLID六大原則

    程序設(shè)計(jì)領(lǐng)域, SOLID (單一功能、開閉原則、里氏替換、接口隔離以及依賴反轉(zhuǎn))是由羅伯特·C·馬丁在21世紀(jì)早期 引入的記憶術(shù)首字母縮略字,指代了面向?qū)ο缶幊毯兔嫦驅(qū)ο笤O(shè)計(jì)的基本原則
    2021-10-10
  • Android中導(dǎo)航組件Navigation的實(shí)現(xiàn)原理

    Android中導(dǎo)航組件Navigation的實(shí)現(xiàn)原理

    大家好,本篇文章主要講的是Android中導(dǎo)航組件Navigation的實(shí)現(xiàn)原理,感興趣的同學(xué)趕快來看一看吧,對(duì)你有幫助的話記得收藏一下
    2022-02-02
  • Android組件初始化三種方式小結(jié)

    Android組件初始化三種方式小結(jié)

    在Android中,組件的初始化通常需要在適當(dāng)?shù)纳芷诜椒ㄖ羞M(jìn)行,本文給大家詳細(xì)的介紹了初始化的三種方式,文中有詳細(xì)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2023-08-08
  • Android應(yīng)用動(dòng)態(tài)修改主題的方法示例

    Android應(yīng)用動(dòng)態(tài)修改主題的方法示例

    今天小編就為大家分享一篇關(guān)于Android應(yīng)用動(dòng)態(tài)修改主題的方法示例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Android仿音樂播放器功能

    Android仿音樂播放器功能

    這篇文章主要為大家詳細(xì)介紹了Android仿音樂播放器功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • 一款超酷的Android自定義加載控件

    一款超酷的Android自定義加載控件

    這篇文章主要為大家詳細(xì)介紹了一款超酷的Android自定義加載控件,具有一定的實(shí)用性和參考價(jià)值,感興趣的朋友可以參考一下
    2016-05-05
  • Android開發(fā)Kotlin?DSL使用技巧掌握

    Android開發(fā)Kotlin?DSL使用技巧掌握

    這篇文章主要為大家介紹了Android開發(fā)Kotlin?DSL使用技巧的掌握,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Android編程之ListPreference用法實(shí)例分析

    Android編程之ListPreference用法實(shí)例分析

    這篇文章主要介紹了Android編程之ListPreference用法,結(jié)合實(shí)例形式較為詳細(xì)的分析說明了ListPreference的功能、用法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2015-12-12

最新評(píng)論

合山市| 安陆市| 图木舒克市| 凌云县| 青阳县| 乾安县| 通海县| 陆川县| 阜平县| 谷城县| 浙江省| 都江堰市| 五河县| 内丘县| 临沂市| 泰州市| 赤水市| 图木舒克市| 弥渡县| 山东| 宿州市| 马关县| 朝阳区| 六安市| 巩义市| 河西区| 奈曼旗| 珲春市| 汝南县| 麟游县| 嘉峪关市| 湘阴县| 太康县| 舟曲县| 水富县| 永靖县| 绥中县| 敖汉旗| 奇台县| 高碑店市| 西乌珠穆沁旗|