Set

Set沒有順序,不允許重複值的集合。

唯讀Set

1
2
val set1: Set<String> = setOf("Mary", "Mary", "Mary", "Alice")
println(set1)
[Mary, Alice]

可讀寫MutableSet

1
val mutableSet1: MutableSet<String> = mutableSetOf("Mary", "Bill", "Jery")

取得元素

1
2
3
println(set1.elementAt(0))
println(set1.elementAtOrElse(5) { "no data" })
println(set1.elementAtOrNull(5) ?: "no data")
Mary
no data
no data

新增刪除

Set沒有順序,因此沒辦法用索引進行修改。

新增

1
2
3
4
val mutableSet1: MutableSet<String> = mutableSetOf("Mary", "Bill", "Jery")
mutableSet1.add("May")
mutableSet1 += "Gigi"
println(mutableSet1)

刪除

1
2
3
mutableSet1.remove("Bill")
mutableSet1 -= "Mary"
println(mutableSet1)

list轉成set去掉重覆元素

1
2
3
4
val list1 = listOf("Alice", "Alice", "Alice","Mary")
    .toSet()
    .toList()
println("list1 = $list1")
list1 = [Alice, Mary]

distinct也有同樣效果。

1
2
3
val list2 = listOf("Alice", "Alice", "Alice","Mary")
    .distinct()
println("list2 = $list2")
list2 = [Alice, Mary]

results matching ""

    No results matching ""