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.