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