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


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