集合物件代表 "一個放置一堆東西的地方"
它可以是有序 有可以是無序的
甚至可以是唯一無重複資料的
在各種程式語言中都有集合物件的存在
讓我們看看他們怎麼使用吧
// 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 是無序 有索引的
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 {} 你不知道嗎
分不清楚的~
這什麼工程師聊天
(╯‵□′)╯︵┴─┴
吃飯時間聊程式?
(╯‵□′)╯︵┴─┴︵┴─┴
把我的吃飯心情還來~~~~~~
(╯‵□′)╯︵┴─┴ ︵┴─┴ ︵┴─┴ ︵┴─┴