科特林HashSet 是通用的无序元素集合,并且不包含重复元素。它实现了set接口。哈希集() 是一个返回可变 hashSet 的函数,该 hashSet 既可以读取也可以写入。 HashSet 类使用哈希机制存储所有元素。
用法:
fun <T> hashSetOf(vararg elements: T): HashSet<T>
它返回具有给定元素的新HashSet,但不保证存储时指定的顺序。
hashSetOf() 的示例
科特林
fun main(args: Array<String>)
{
//declaring a hash set of integers
val seta = hashSetOf(1,2,3,3);
//printing first set
println(seta)
//declaring a hash set of strings
val setb = hashSetOf("Geeks","for","geeks");
println(setb);
}
输出:
[1, 2, 3] [Geeks, for, geeks]
在哈希集中添加和删除元素 -
- 我们可以在a中添加元素哈希集使用添加() 和全部添加() 函数。
- 我们可以使用删除一个元素消除() 函数。
使用add()和remove()方法的Kotlin程序:
科特林
fun main(args: Array<String>)
{
//declaring a hash set of integers
val seta = hashSetOf<Int>();
println(seta)
//adding elements
seta.add(1)
seta.add(2)
//making an extra set to add it in seta
val newset = setOf(4,5,6)
seta.addAll(newset)
println(seta)
//removing 2 from the set
seta.remove(2)
println(seta)
}
输出:
[] [1, 2, 4, 5, 6] [1, 4, 5, 6]
hashSet中的遍历——
我们可以在循环中使用迭代器来遍历 hashSet。
科特林
fun main(args: Array<String>)
{
//declaring a hash set of integers
val seta = hashSetOf(1,2,3,5);
//traversing in a set using a for loop
for(item in seta)
println(item)
}
输出:
1 2 3 5
HashSet 索引 -
使用索引函数indexOf()、lastIndexOf()我们可以获取指定元素的索引。我们还可以使用elementAt()函数查找某个特定索引处的元素。
使用索引的 Kotlin 程序 -
科特林
fun main(args: Array<String>) {
val captains = hashSetOf("Kohli","Smith","Root","Malinga","Rohit","Dhawan")
println("The element at index 2 is: "+captains.elementAt(3))
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: Malinga The index of element is: 4 The last index of element is: 0
contains() 和 containsAll() 函数 -
这两种方法都是用来检查哈希集中是否存在某个元素?
使用contains()和containsAll()函数的Kotlin程序 -
科特林
fun main(args: Array<String>){
val captains = hashSetOf(1,2,3,4,"Kohli","Smith",
"Root","Malinga","Rohit","Dhawan")
var name = "Rohit"
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,"Dhawan","Warner")))
}
输出:
The set contains the element Rohit or not? true The set contains the element 5 or not? false The set contains the given elements or not? false
检查空哈希集的相等性以及 isEmpty() 函数的使用 -
fun <T> hashSetOf(): hashSet<T>
此语法返回特定类型的空哈希集。
使用isEmpty()函数的Kotlin程序 -
科特林
fun main(args: Array<String>) {
//creating an empty hash set of strings
val seta = hashSetOf<String>()
//creating an empty hashset of integers
val setb =hashSetOf<Int>()
//checking if set is empty or not
println("seta.isEmpty() is ${seta.isEmpty()}")
// Since Empty hashsets are equal
//checking if two hash sets are equal or not
println("seta == setb is ${seta == setb}")
}
输出:
seta.isEmpty() is true seta == setb is true
hashSetOf() 是 Kotlin 中的一个函数,用于创建新的哈希集。哈希集是唯一元素的无序集合,它为添加、删除和检查元素是否存在提供恒定时间性能。
下面是使用 hashSetOf() 创建一组整数的示例:
科特林
fun main() {
// create a new hash set
val numbers = hashSetOf(1, 2, 3)
// add a new element to the set
numbers.add(4)
// remove an element from the set
numbers.remove(2)
// check if the set contains an element
val containsFive = numbers.contains(5)
// print the set and the result of the contains check
println("Numbers: $numbers")
println("Contains 5: $containsFive")
}
输出:
数字:[1,3,4]
包含5:假
在此示例中,我们使用 hashSetOf() 函数创建一个新的整数哈希集,并向其中添加三个元素:1、2 和 3。然后,我们将元素 4 添加到集合中,并从集合中删除 2。最后,我们使用contains()函数检查集合是否包含元素5并将结果打印到控制台。
hashSetOf()的优点:
- 哈希集数据结构为添加、删除和检查元素是否存在提供了 O(1) 时间复杂度,使其对于处理大型数据集非常高效。
- 哈希集确保元素是唯一的,因此它是跟踪不同值集合的不错选择。
- hashSetOf() 函数易于使用,并提供了一种使用初始元素创建新哈希集的简单方法。
hashSetOf()的缺点:
- 哈希集中元素的顺序无法保证,因此迭代顺序可能与插入顺序不同。
- 如果散列函数产生许多冲突,则散列集的性能可能会降低,这可能导致散列集变得比其他数据结构(例如数组或链表)慢。
相关用法
- Kotlin hashMapOf()用法及代码示例
- 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用法及代码示例
- Kotlin reduceIndexed用法及代码示例
- Kotlin elementAtOrNull用法及代码示例
- Kotlin flatten用法及代码示例
- Kotlin sort用法及代码示例
- Kotlin Random.<init>用法及代码示例
- Kotlin filterIsInstanceTo用法及代码示例
- Kotlin distinctBy用法及代码示例
- Kotlin LongStream.toList用法及代码示例
注:本文由纯净天空筛选整理自ManishKhetan大神的英文原创作品 Kotlin hashSetOf()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。