科特林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()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。