當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。