日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Kotlin入门笔记(八)集合 与 遍历

發布時間:2023/12/20 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Kotlin入门笔记(八)集合 与 遍历 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:本教程最好在有JAVA的基礎下進行學習

一、List集合

ListOf()

按 Java 的 List 寫法,Kotlin 應該:

val list = ArrayList<String>() list.add("Apple") list.add("Banana") list.add("Orange") list.add("Pear") list.add("Grape")

但是 Kotlin 專門內置的 listOf() 函數來簡化初始化集合的寫法:

val list = listOf("Apple","Banana","Orange","Pear","Grape")

可以用 for-in 循環進行遍歷。

fun main() {val list = listOf("Apple","Banana","Orange","Pear","Grape")for (fruit in list) {println(fruit)} }

不過需要注意的是,listOf() 函數創建的是一個不可變的集合。(無法對集合進行添加、修改或刪除操作

mutableListOf()

這樣設計與 val 關鍵字類不可繼承?的設計初衷是類似的,Kotlin在不可變方面控制極其嚴格。如果創建一個可變集合,可以使用 mutableListOf() 函數就可以了,示例如下:

fun main() {val list = mutableListOf("Apple","Banana","Orange","Pear","Grape")list.add("Watermenol")for (fruit in list) {println(fruit)} }

?這里先使用 mutableListOf() 函數創建一個可變的集合,然后向集合中添加了一個新的水果,最后再使用 for-in 循環對集合進行遍歷。

(2) Set 集合

setOf()

val set = setOf("Apple","Banana","Orange","Pear","Grape") for (fruit in set) {println(fruit) }

mutableSetOf()

????????Set的?setOf() 和 mutableSetOf()? 與?List集合的?listOf() mutableListOf() 大致用法一樣,不過多贅述。

需要注意的是, Set 底層是使用 hash 映射機制來存放數據的,因此集合中的元素無法保證有序,這是和 List 最大的不同之處。

Map集合

Map 是一種 “ 鍵值對 ” 形式的數據結構,因此再用法上與 List、Set 集合區別較大。

按照Java的寫法:

val map = HashMap<String , Int>() map.put("Apple",1) map.put("Banana",2) map.put("Orange",3) map.put("Pear",4) map.put("Grape",5)

但是在 Kotlin 中更推薦使用類似數組下標的語法結構,

比如向 Map 中添加一條數據可以這么寫:

map["Apple"] = 1

讀取?Map 中的結構可以這么寫:

val num = map["Apple"]

因此,上述代碼可以寫成:

val map = HashMap<String , Int>() map["Apple"] = 1 map["Banana"] = 2 map["Orange"] = 3 map["Pear"] = 4 map["Grape"] = 5

但是,按照 Kotlin 一向的作風 . . . 。沒錯,它提供了一對 mapOf() mutableMapOf() 函數來繼續簡化 Map 的用法。在 mapOf() 中,我們可以直接傳入初始化的鍵值對組合來完成對 Map 集合的創建:

val map = mapOf?("Apple" to 1 , "Banana" to 2 , "Orange" to 3 , "Pear" to 4 , "Grape" to 5)

這里的鍵值對組合看上去好像是用 to 這個關鍵字來進行關聯的,但其實 to 并不是關鍵字,而是一個 infix 函數(這個暫時放放,會在后面討論)

fun main() {val map = mapOf("Apple" to 1 , "Banana" to 2 , "Orange" to 3 , "Pear" to 4 , "Grape" to 5)for((fruit , number) in map) {println("fruit is " + fruit + ", number is " + number)} }

如果喜歡這個系列的話,不妨點個關注吧!感謝您的觀看!

參考:

? ? ? ? 《第一行代碼 Android (第三版)》 ? ---郭霖

總結

以上是生活随笔為你收集整理的Kotlin入门笔记(八)集合 与 遍历的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。