To add or remove any elements from a set, we must utilize Kotlin’s built-in set functions. Luckily, many of these functions can also be applied to other collection types, thus you might recognize some of these syntaxes from a previous lesson.
To add a single element to a set, we’d use the
add() function as we did in the lists lesson; however, if we were interested in adding many elements to a set at once, the
addAll() function would be more appropriate. Note that in contrast to lists, we cannot add an element that already exists in the set.
Let’s take a look at how
addAll() works. Recall the building example from the previous exercise. The manager got back to us with the following list of apartments:
var aptList = listOf("1A", "1B", "1C", "2A", "2B", "2C", "2C", "1A")
We’re ready to populate our empty set,
totalApts, with these values. With the help of the
addAll() function, we’re able to populate our set with multiple values at once:
totalApts.addAll(aptList) println(totalApts) // Prints: [1A, 1B, 1C, 2A, 2B, 2C]
Looks like the manager may have accidentally added duplicate apartment numbers. Luckily, the set removed the duplicate elements, and we’re left with unique data.
Oppositely, we can also remove all elements from a collection using the
clear() function. Assume the building is selling their property and all of the apartments need to be removed from the data set:
totalApts.clear() println(totalApts) // Prints: 
clear() are highly useful, quick, and efficient ways of adding or removing large amounts of data from a collection at once.
Codey and his friends want to host a talent show, but before they proceed, they need to ensure that there are at least 5 participants. They’ve gathered the following list of names in TalentShow.kt.
It’s our job to ensure that no name appears twice and that there are enough participants for the show to take place.
First, use the
addAll() function to add all of the list names to the
uniqueParticipants set at once.
On the following line, use the
size property to determine how many participants are in the set. Create the following String template and wrap it in a
"The talent show has [setName.size] unique participants."
Great Work! Since there were more than 5 unique participants, the talent show was able to take place, and Codey won for knowing all 88 constellations by heart. ⭐️
Now it’s time to clear all of the participants from the set. On the following line, use the correct function to empty the set.
println() statement to output
uniqueParticipants and ensure all values have been cleared.