科特林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() 函數的優點:
- 這是創建一組不可變元素的簡單便捷的方法。
- 由於該集合是不可變的,因此其內容一旦創建就無法修改,這使其成為在多線程環境中使用的安全選項。
- setOf() 函數確保集合不包含任何重複元素,這有助於防止代碼中出現錯誤。
Kotlin 中 setOf() 函數的缺點:
- 由於集合是不可變的,因此一旦創建,您就無法向其中添加或刪除元素。如果您需要在程序運行時修改集合的內容,這可能是一個缺點。
- 如果您需要創建一個可以在運行時修改的可變集,則需要使用不同的函數,例如mutableSetOf()。
相關用法
- Kotlin SequenceScope用法及代碼示例
- Kotlin Sequence.asStream用法及代碼示例
- Kotlin SequenceScope.yieldAll用法及代碼示例
- Kotlin SequenceScope.yield用法及代碼示例
- Kotlin Short.inc用法及代碼示例
- Kotlin StringBuilder.clear用法及代碼示例
- Kotlin Stream.toList用法及代碼示例
- Kotlin Stream.asSequence用法及代碼示例
- Kotlin Short.dec用法及代碼示例
- Kotlin maxByOrNull用法及代碼示例
- Kotlin groupByTo用法及代碼示例
- Kotlin OverloadResolutionByLambdaReturnType.<init>用法及代碼示例
- Kotlin reduceRightIndexedOrNull用法及代碼示例
- Kotlin dropWhile用法及代碼示例
- Kotlin takeWhile用法及代碼示例
- Kotlin elementAt用法及代碼示例
- Kotlin chunked用法及代碼示例
- Kotlin filterNot用法及代碼示例
- Kotlin firstNotNullOf用法及代碼示例
- Kotlin BuilderInference用法及代碼示例
- Kotlin minByOrNull用法及代碼示例
- Kotlin titlecase用法及代碼示例
- Kotlin all用法及代碼示例
- Kotlin drop用法及代碼示例
- Kotlin toTypedArray用法及代碼示例
注:本文由純淨天空篩選整理自ManishKhetan大神的英文原創作品 Kotlin Set : setOf()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。