当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Kotlin Set:setOf()用法及代码示例


科特林Set接口是一个通用的无序元素集合,它不包含重复的元素。 Kotlin 支持集合的类型可变和不可变。
setOf()不可变的意味着它仅支持只读函数并且mutableSetOf()可变的意味着它支持读取和写入两种函数。

句法:

fun <T> setOf( vararg elements: T): Set<T>

说明:

  • 此函数返回给定元素的新只读集。
  • 根据元素的存储方式对元素进行迭代。

Kotlin 程序setOf()函数:

科特林


fun main(args: Array<String>)
{
    //declaring a set of strings
    val seta = setOf("Geeks" , "for", "geeks")
    //declaring a set of characters
    val setb = setOf( "G" , "f" , "g" )
    //declaring a set of integers
    val setc = setOf( 1 ,2 , 3 , 4 )
    //traversing through a set of strings
    for(item in seta)
        print( item )
    println()
    //traversing through a set of characters
    for(item in setb)
        print( item )
    println()
    //traversing through a set of integers
    for(item in setc)
        print( "$item ")
}

输出:

Geeksforgeeks
Gfg
1 2 3 4 

设置索引 -

使用索引函数indexOf()、lastIndexOf()我们可以获取指定元素的索引。我们还可以使用elementAt()函数查找某个特定索引处的元素。

使用索引的 Kotlin 程序 -

科特林


fun main(args: Array<String>) {
    val captains = setOf("Kohli","Smith","Root","Malinga","Rohit","Dhawan")
    println("The element at index 2 is: "+captains.elementAt(2))
    println("The index of element is: "+captains.indexOf("Smith"))
    println("The last index of element is: "+captains.lastIndexOf("Rohit"))
}

输出:

The element at index 2 is: Root
The index of element is: 1
The last index of element is: 4 

设置第一个和最后一个元素 -

我们可以使用 first() 和 last() 函数获取集合的第一个和元素。

Kotlin 程序 -

科特林


fun main(args: Array<String>){
    val captains = setOf(1,2,3,4,"Kohli","Smith",
        "Root","Malinga","Rohit","Dhawan")
    println("The first element of the set is: "+captains.first())
    println("The last element of the set is: "+captains.last())
}

输出:

The first element of the set is: 1
The last element of the set is: Dhawan

设置基础知识 -

这里我们将讨论count()、max()、min()、sum()、average()等基本函数。

Kotlin 程序使用基本函数 -

科特林


fun main(args: Array<String>) {
    val num = setOf(1 ,2, 3, 4, 5, 6, 7, 8)
    println("The number of element in the set is: "+num.count())
    println("The maximum element in the set is: "+num.max())
    println("The minimum element in the set is: "+num.min())
    println("The sum of the elements in the set is: "+num.sum())
    println("The average of elements in the set is: "+num.average())
}

输出:

The number of element in the set is: 8
The maximum element in the set is: 8
The minimum element in the set is: 1
The sum of the elements in the set is: 36
The average of elements in the set is: 4.5

contains() 和 containsAll() 函数 -

这两种方法都用于检查集合中是否存在元素?

使用contains()和containsAll()函数的Kotlin程序 -

科特林


fun main(args: Array<String>){
    val captains = setOf(1,2,3,4,"Kohli","Smith",
        "Root","Malinga","Rohit","Dhawan")
    var name = "Dhawan"
    println("The set contains the element $name or not?" +
            "   "+captains.contains(name))
    var num = 5
    println("The set contains the element $num or not?" +
            "   "+captains.contains(num))
    println("The set contains the given elements or not?" +
            "   "+captains.containsAll(setOf(1,3,"Root")))
}

输出:

The set contains the element Dhawan or not?   true
The set contains the element 5 or not?   false
The set contains the given elements or not?   true 

检查空集的相等性和 isEmpty() 函数的使用 -

fun <T> setOf(): Set<T>

此语法返回特定类型的空集。

使用isEmpty()函数的Kotlin程序 -

科特林


fun main(args: Array<String>) {
    //creating an empty set of strings
    val seta = setOf<String>()
    //creating an empty set of integers
    val setb =setOf<Int>()
    //checking if set is empty or not
    println("seta.isEmpty() is ${seta.isEmpty()}")
    // Since Empty sets are equal
    //checking if two sets are equal or not
    println("seta == setb is ${seta == setb}")
    println(seta) //printing first set
}

输出:

seta.isEmpty() is true
seta == setb is true
[]

当然,这里有一个示例代码,演示了如何在 Kotlin 中使用 setOf() 函数

科特林


fun main() {
    val fruits = setOf("apple", "banana", "cherry")
    val hasApple = fruits.contains("apple")
    val hasOrange = fruits.contains("orange")
    println("Fruits: $fruits")
    println("Does the set contain an apple? $hasApple")
    println("Does the set contain an orange? $hasOrange")
    for (fruit in fruits) {
        println(fruit)
    }
}

输出:

水果:【苹果、香蕉、樱桃】
该套装包含苹果吗?真的
该套装包含橙子吗?错误的
苹果
香蕉
樱桃

Kotlin 中 setOf() 函数的优点:

  1. 这是创建一组不可变元素的简单便捷的方法。
  2. 由于该集合是不可变的,因此其内容一旦创建就无法修改,这使其成为在多线程环境中使用的安全选项。
  3. setOf() 函数确保集合不包含任何重复元素,这有助于防止代码中出现错误。

Kotlin 中 setOf() 函数的缺点:

  1. 由于集合是不可变的,因此一旦创建,您就无法向其中添加或删除元素。如果您需要在程序运行时修改集合的内容,这可能是一个缺点。
  2. 如果您需要创建一个可以在运行时修改的可变集,则需要使用不同的函数,例如mutableSetOf()。


相关用法


注:本文由纯净天空筛选整理自ManishKhetan大神的英文原创作品 Kotlin Set : setOf()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。