个性化阅读
专注于IT技术分析

Kotlin MutableSet接口

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

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

MutableSet接口声明

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

MutableSet接口的继承属性

物产 描述
抽象值大小:整数 它返回集合的大小。

MutableSet接口的功能

Kotlin MutableSet接口具有多种功能。其功能如下。

功能 描述
抽象乐趣add(e:E):布尔值 它将给定元素添加到集合中。
抽象乐趣addAll(elements:Collection <E>):布尔值 它将给定集合的所有元素添加到当前集合。
abstract fun clear() 它将删除此集合中的所有元素。
抽象乐趣iterator():MutableIterator <E> 它返回此对象的元素上的迭代器。
abstract fun remove(e:E):布尔值 如果集合中存在单个指定的元素, 它将从该集合中删除该元素。
抽象乐趣removeAll(elements:Collection <E>):布尔值 它从当前集合中删除集合中给定的所有元素。
abstract fun keepAll(elements:Collection <E>):布尔值 它仅保留当前集合中指定集合中存在的那些元素。
抽象乐趣contains(e:E):布尔 它检查指定的元素包含在当前集合中。
抽象乐趣containsAll(elements:Collection <E>):布尔值 它检查指定集合的​​所有元素是否存在于当前集合中。
抽象乐趣isEmpty():布尔值 如果collection为空(不包含任何元素), 则返回true, 否则返回false。
fun <T>可迭代<T> .any():布尔值 如果collection包含至少一个元素, 则返回true。
fun <T>可迭代<T> .any(谓词:(T)->布尔值):布尔值 如果至少element匹配给定的谓词, 则返回true。
有趣的<T> Iterable <T> .distinct():列表<T> 它返回一个列表, 其中仅包含给定集合中的不同元素。
fun <T>可迭代的<T> .drop(n:Int):列表<T> 它返回一个列表, 其中包含除前n个元素外的所有元素。
fun <T>可迭代<T> .elementAt(index:Int):T 它返回给定索引处的元素, 或者如果集合中不存在给定索引, 则抛出IndexOutOfBoundException。
有趣的<T> Iterable <T> .elementAtOrElse(index:Int, defaultValue:(Int)-> T):T 它返回给定索引处的元素, 或者如果索引超出当前集合的范围, 则返回调用defaultValue函数的结果。
好玩的<T:Comparable <T >> Iterable <T> .max():T? 它返回最大的元素;如果集合中没有元素, 则返回null。
好玩的<T:Comparable <T >> Iterable <T> .min():T? 它返回最小的元素;如果集合中没有元素, 则返回null。
fun <T> MutableCollection <out T> .remove(element:T):布尔值 如果当前集合中存在单个指定的元素, 它将删除该元素。
fun <T> MutableCollection <out T> .removeAll(elements:Collection <T>):布尔值 它删除指定集合中包含的当前集合的所有元素。
fun <T> MutableCollection <out T> .retainAll(elements:Collection <T>):布尔值 它保留了当前集合中包含在指定集合中的所有元素。
有趣的<T>可迭代<T> .reversed():列表<T> 它以相反的顺序返回元素。

Kotlin MutableSet接口示例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接口不支持重复的元素。

Kotlin MutableSet接口示例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

Kotlin MutableSet接口示例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

Kotlin MutableSet接口示例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

Kotlin MutableSet接口示例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

Kotlin MutableSet接口示例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]
赞(0)
未经允许不得转载:srcmini » Kotlin MutableSet接口

评论 抢沙发

评论前必须登录!