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


Kotlin hashSetOf()用法及代码示例


科特林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()的优点:

  1. 哈希集数据结构为添加、删除和检查元素是否存在提供了 O(1) 时间复杂度,使其对于处理大型数据集非常高效。
  2. 哈希集确保元素是唯一的,因此它是跟踪不同值集合的不错选择。
  3. hashSetOf() 函数易于使用,并提供了一种使用初始元素创建新哈希集的简单方法。

hashSetOf()的缺点:

  1. 哈希集中元素的顺序无法保证,因此迭代顺序可能与插入顺序不同。
  2. 如果散列函数产生许多冲突,则散列集的性能可能会降低,这可能导致散列集变得比其他数据结构(例如数组或链表)慢。


相关用法


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