iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0

集合物件

集合物件代表 "一個放置一堆東西的地方"
它可以是有序 有可以是無序的
甚至可以是唯一無重複資料的
在各種程式語言中都有集合物件的存在
讓我們看看他們怎麼使用吧

swift

// Array
var users = ["ami1", "ami2", "ami3"]
users[1] = "ami2 is good" // 可修改內容
print(users) // 輸出:["ami1", "ami2 is good", "ami3"]
//users[3] = "ami4" // 編譯錯誤  Array 長度固定  index 3 超出邊際 
users.append("ami3") // 可以用 append擴充長度
print(users) // 輸出:["ami1", "ami2 is good", "ami3", "ami3"]
print(users.count) // 輸出:4

// Set
var ids: Set<String> = ["ami1", "ami2", "ami3"]
// ids[1] = "ami2 is good" // 編譯錯誤 Set 沒有用index修改資料的概念
print(ids)  // 輸出:["ami3", "ami1", "ami2"  Set 也沒有位置的概念喔
ids.insert("ami3")
print(ids) // 輸出:["ami1", "ami2", "ami3"] SET 的值是不會重複的
print(ids.count) // 輸出:3

// Map
var usersMap = ["user1": "ami1","user2":  "ami2", "user3": "ami3"]
usersMap["user2"] = "new ami22"
usersMap["user4"] = "new ami4"
print(usersMap) 
// 輸出:["user1": "ami1", "user2": "new ami22", "user3": "ami3", "user4": "new ami4"], 內容可變 長度可變
print(usersMap.count) // 輸出:3

Array 是有序的 可重複的
Set 是無序 值唯一的
Map 是無序 有索引的

kotlin

fun main() {
    // List
    var users = mutableListOf("ami1", "ami2", "ami3") // 可變List
    users[1] = "ami2 is good" // 可修改內容
    println(users) // 輸出:[ami1, ami2 is good, ami3]
    //users[3] = "ami4" // 編譯錯誤  Array 長度固定  index 3 超出邊際 
    users.add("ami3") // 可以用 add擴充長度
    println(users) // 輸出:[ami1, ami2 is good, ami3, ami3]
    println(users.size) // 輸出:4
    
    // Set
    var ids = mutableSetOf("ami1", "ami2", "ami3")
    // ids[1] = "ami2 is good" // 編譯錯誤 Set 沒有用index修改資料的概念
    println(ids)  // 輸出:["ami3", "ami1", "ami2"  Set 也沒有位置的概念喔
    ids.add("ami3")
    println(ids) // 輸出:["ami1", "ami2", "ami3"] SET 的值是不會重複的
    println(ids.size) // 輸出:3
    
    // Map
    var usersMap = mutableMapOf("user1" to "ami1","user2" to "ami2", "user3" to "ami3")
    usersMap["user2"] = "new ami22"
    usersMap["user4"] = "new ami4"
    println(usersMap) 
    // 輸出:{user1=ami1, user2=new ami22, user3=ami3, user4=new ami4}, 內容長度都可變
    println(usersMap.size) // 輸出:4
}

集合物件在swift與kotlin間無特別明顯的差異
概念與使用上幾乎都相同
其中kotlin的List
還有一個 listOf, 如果你的List是不想被變動的。
可以使用。

另外還有 Array, ArrayList
主要是想限制整個資料是 "同一個型別" 時使用
kotlin在Java上做加強
所以對於 Array, List 多了很多操作

有需要用到時再來查文件即可

小碎嘴時間 ヽ(゚´Д`)ノ゚

前幾天跟身邊的前端工程師聊天時
才有人說~寫幾年程式了
我還是分不清楚Array 跟 Object的差別
然後就有人說 簡單啊~
一個是[] 一個是{}

怎麼不會分 ʕ•̀ω•́ʔ✧ ~
然後就有人說
typeof [] === typeof {} 你不知道嗎
分不清楚的~

這什麼工程師聊天
(╯‵□′)╯︵┴─┴

吃飯時間聊程式?
(╯‵□′)╯︵┴─┴︵┴─┴

把我的吃飯心情還來~~~~~~
(╯‵□′)╯︵┴─┴ ︵┴─┴ ︵┴─┴ ︵┴─┴


上一篇
[Day06] swift & kotlin 入門篇!(4) 基礎語法-轉型與合併使用
下一篇
[Day08] swift & kotlin 入門篇!(6) 流程控制-循序,選擇,重複
系列文
雙平台APP小遊戲開發實作! Swift & Kotlin 攜手出擊~30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言