Sets

Unique Values

Example

A Set keeps only unique values. setOf and mutableSetOf keep insertion order.

fun main() {
    val tags = setOf("veg", "spicy", "veg", "bestseller", "spicy")
    println(tags)
    println(tags.size)
    println("veg" in tags)

    val applied = mutableSetOf<String>()
    println(applied.add("WELCOME50"))   // true: added
    println(applied.add("WELCOME50"))   // false: already there
    applied.add("FREEDEL")
    println(applied)

    val visitorIds = listOf(101, 102, 101, 103, 102)
    println("Unique visitors: ${visitorIds.toSet().size}")
}

Output

[veg, spicy, bestseller]
3
true
true
false
[WELCOME50, FREEDEL]
Unique visitors: 3

Set Operations

Example

Combine sets with union, intersect and subtract.

fun main() {
    val myContacts = setOf("Asha", "Ravi", "Neha", "Kiran")
    val yourContacts = setOf("Neha", "Kiran", "Arjun")
    println(myContacts intersect yourContacts)   // mutual friends
    println(myContacts union yourContacts)
    println(myContacts subtract yourContacts)
}

Output

[Neha, Kiran]
[Asha, Ravi, Neha, Kiran, Arjun]
[Asha, Ravi]