Kotlin - mutableSetOf()

Kotlin - mutableSetOf() 首页 / Kotlin入门教程 / Kotlin - mutableSetOf()

Kotlin MutableSet接口是元素的一般无序集合。 MutableSet接口不支持重复元素。该接口是可变的,因此其方法支持读写函数,支持添加和删除元素。

Set接口使用mutableSetOf()函数创建包含元素列表的set接口对象列表。

MutableSet声明

interface MutableSet<E> : Set<E>, MutableCollection<E> (source)

示例1

让无涯教程创建一个MutableSet声明和遍历其元素的示例。

fun main(args: Array<String>) {
    val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)
    val anymutableSet: Set<Any> = setOf(2, 6, 4, 29, 4, 5, "Ajay", "Ashu", "Ajay")
    println("....intmutableSet....")
    for(element in intmutableSet){
        println(element)
    }
    println("....anymutableSet......")
    for(element in anymutableSet){
        println(element)
    }
}

输出:

....intmutableSet....
2
6
4
29
5
....anymutableSet......
2
6
4
29
5
Ajay
Ashu

在上面的示例中,元素“ 4”和“ Ajay”被声明了两次。但是在遍历这些MutableSet时,它们仅打印一次,这是因为MutableSet接口不支持重复的元素。

链接:https://www.learnfk.comhttps://www.learnfk.com/kotlin/kotlin-mutableset.html

来源:LearnFk无涯教程网

示例2 - add()和addAll()

fun main(args: Array<String>) {
    val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)
    val mutableSet: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22)

    println("....intmutableSet....")
    for(element in intmutableSet){
        println(element)
    }
    intmutableSet.add(10)
    println("....intmutableSet.add(10)....")
    for(element in intmutableSet){
        println(element)
    }

    intmutableSet.addAll(mutableSet)
    println("....intmutableSet.addAll(mutableSet)....")
    for(element in intmutableSet){
        println(element)
    }
}

输出:

....intmutableSet....
2
6
4
29
5
....intmutableSet.add(10)....
2
6
4
29
5
10
....intmutableSet.addAll(mutableSet)....
2
6
4
29
5
10
8
11
22

示例3 - remove()和removeAll()

fun main(args: Array<String>) {
    val intmutableSet = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)
    val mutableSet: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22)

    println("....intmutableSet....")
    for(element in intmutableSet){
        println(element)
    }
    intmutableSet.remove(29)
    println("....intmutableSet.remove(29)....")
    for(element in intmutableSet){
        println(element)
    }
    intmutableSet.removeAll(mutableSet)
    println("....intmutableSet.removeAll(mutableSet)....")
    for(element in intmutableSet){
        println(element)
    }
}

输出:

....intmutableSet....
2
6
4
29
5
....intmutableSet.remove(29)....
2
6
4
5
....intmutableSet.removeAll(mutableSet)....
2
4
5

示例4 - contains()和containsAll()

fun main(args: Array<String>) {
    val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)
    val mutableSet2: MutableSet<Int> = mutableSetOf<Int>(6,8,11,22)
    val mutableSet3: MutableSet<Int> = mutableSetOf<Int>(2,4,6)

    println("....mutableSet1....")
    for(element in mutableSet1){
        println(element)
    }
    println("....mutableSet2....")
        println(mutableSet2)
    println("....mutableSet3....")
        println(mutableSet3)
    println("....mutableSet1.contains(29)....")
    println(mutableSet1.contains(29))

    println("....mutableSet1.containsAll(mutableSet2))....")
    println(mutableSet1.containsAll(mutableSet2))
    println("....mutableSet1.containsAll(mutableSet3))....")
    println(mutableSet1.containsAll(mutableSet3))
}

输出:

....mutableSet1....
2
6
4
29
5
....mutableSet2....
[6, 8, 11, 22]
....mutableSet3....
[2, 4, 6]
....mutableSet1.contains(29)....
true
....mutableSet1.containsAll(mutableSet2))....
false
....mutableSet1.containsAll(mutableSet3))....
true

示例5 - isEmpty()和 any()

fun main(args: Array<String>) {
    val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)

    println("....mutableSet1....")
    for(element in mutableSet1){
        println(element)
    }
    println("....mutableSet1.isEmpty()....")
    if(mutableSet1.isEmpty())
        println("mutableSet1 is empty, not contain any element")
    else
        println("mutableSet1 is not empty, contains element")

    println("....mutableSet1.any()....")
    if(mutableSet1.any())
        println("mutableSet1 contain at least one or more elements")
    else
        println("mutableSet1 not contain any element")
}

输出:

....mutableSet1....
2
6
4
29
5
....mutableSet1.isEmpty()....
mutableSet1 is not empty, contains element
....mutableSet1.any()....
mutableSet1 contain at least one or more elements

示例6 - first(),indexOf()和drop()

fun main(args: Array<String>) {
    val mutableSet1 = mutableSetOf<Int>(2, 6, 4, 29, 4, 5)

    println("....mutableSet1....")
    for(element in mutableSet1){
        println(element)
    }
    println("....mutableSet1.first()....")
    println(mutableSet1.first())

    println("...mutableSet1.indexOf(4)...")
    println(mutableSet1.indexOf(4))

    println("...mutableSet1.drop(3)...")
    println(mutableSet1.drop(3))
}

输出:

....mutableSet1....
2
6
4
29
5
....mutableSet1.first()....
2
...mutableSet1.indexOf(4)...
2
...mutableSet1.drop(3)...
[29, 5]

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

深入拆解Java虚拟机 -〔郑雨迪〕

面试现场 -〔白海飞〕

全栈工程师修炼指南 -〔熊燚(四火)〕

互联网人的英语私教课 -〔陈亦峰〕

编译原理实战课 -〔宫文学〕

Selenium自动化测试实战 -〔郭宏志〕

容器实战高手课 -〔李程远〕

讲好故事 -〔涵柏〕

大型Android系统重构实战 -〔黄俊彬〕

好记忆不如烂笔头。留下您的足迹吧 :)