Set zinafanana sana na list ila kuna utofauti katika matumizi, kwanza seti hutumia mabano {}, pia set data zake ni unique yaani haziwezi kujirudia, pia data kwenye set zinakuwa katika aina moja ya data, huwezi kuchanganya namba na string.
Katika somo hili tutatumia string ya somo lililopita ili kufanyia mazoezi.
{'bongoclass', 'facebook', 'google', 'youtube', 'microsoft'}
Mfano
fun main() {
val text1: Set<String> = setOf("bongoclass", "facebook", "google", "youtube", "microsoft")
println(text1)
}
[bongoclass, facebook, google, youtube, microsoft]
Methods zinazotumika:
fun main() {
val set1 = mutableSetOf("bongoclass", "facebook", "google", "youtube", "microsoft")
set1.add("github")
println("baadaya add(): $set1")
val additionalElements = setOf("apple", "orange", "banana")
set1.addAll(additionalElements)
println("Baada ya addAll(): $set1")
val elementToCheck = "google"
println("Contains '$elementToCheck': ${set1.contains(elementToCheck)}")
val elementToRemove = "microsoft"
set1.remove(elementToRemove)
println("baaday ya remove('$elementToRemove'): $set1")
println("kufanya iteration kwa kutumia forEach():")
set1.forEach { println(it) }
set1.clear()
println("baada ya clear(): $set1")
}
Set operations
Hapa tunakwenda kufanya matendo ya set, hizi ni hesabu maalumu ambazo hutumiwa kwenye set data type. Matendo haya ni:-
- Union
- Intersection
- Subtraction
Union hii huhusika na kuunganisha set mbili ili kupata set moja.
fun main() {
val set1: Set<String> = setOf("bongoclass", "facebook", "google", "youtube", "microsoft")
val set2: Set<String> = setOf("Whatsapp", "Telegram", "Instagram")
println(set1.union(set2))
}
[bongoclass, facebook, google, youtube, microsoft, Whatsapp, Telegram, Instagram]
Intersection() hii itatupa matokeo ya set ambayo imeundwa kwa item ambazo zinapatikana kwenye set zote mbili.
fun main() {
val set1: Set<String> = setOf("bongoclass", "facebook", "google", "youtube", "microsoft")
val set2: Set<String> = setOf("Whatsapp", "facebook", "Instagram", "twitter", "bongoclass")
println(set1.intersect(set2))
}
[bongoclass, facebook]
Subtraction hii hufanyika kwa kutumia method `subtract()` kazi yake ni kuonyesha item ambazo zipo kwenye set ya kwanza lakini hazipo kwenye set ya pili.
fun main() {
val set1: Set<String> = setOf("bongoclass", "facebook", "google", "youtube", "microsoft")
val set2: Set<String> = setOf("Whatsapp", "facebook", "Instagram", "twitter", "bongoclass")
println(set1.subtract(set2))
}
[google, youtube, microsoft]
Set properties
fun main() {
Create a set
val set1 = setOf("bongoclass", "facebook", "google", "youtube", "microsoft")
a. Check if the set is not empty using isNotEmpty
println("a. Is set not empty: ${set1.isNotEmpty()}")
b. Get the size of the set using size
println("b. Size of the set: ${set1.size}")
c. Get the last element or null using lastOrNull
println("c. Last element or null: ${set1.lastOrNull()}")
d. Get the hash code of the set using hashCode
println("d. Hash code of the set: ${set1.hashCode()}")
e. Get the single element or null using singleOrNull
val singleElementSet = setOf("uniqueElement")
println("e. Single element or null: ${singleElementSet.singleOrNull()}")
}
Mwisho:
Somo linalofuata tutakwenda kuangalia method zinazotumika kwenye map data type.