insert(_:)
Inserts the given element in the set if it is not already present.
@discardableResult mutating func insert(_ newMember: Element) -> (inserted: Bool, memberAfterInsert: Element)
Parameters
- newMember
An element to insert into the set.
Returns
(true, newMember)
if newMember
was not contained in the set. If an element equal to newMember
was already contained in the set, the method returns (false, oldMember)
, where oldMember
is the element that was equal to newMember
. In some cases, oldMember
may be distinguishable from newMember
by identity comparison or some other means.
If an element equal to newMember
is already contained in the set, this method has no effect. In the following example, a new element is inserted into classDays
, a set of days of the week. When an existing element is inserted, the classDays
set does not change.
enum DayOfTheWeek: Int {
case sunday, monday, tuesday, wednesday, thursday,
friday, saturday
}
var classDays: Set<DayOfTheWeek> = [.wednesday, .friday]
print(classDays.insert(.monday))
// Prints "(inserted: true, memberAfterInsert: DayOfTheWeek.monday)"
print(classDays)
// Prints "[DayOfTheWeek.friday, DayOfTheWeek.wednesday, DayOfTheWeek.monday]"
print(classDays.insert(.friday))
// Prints "(inserted: false, memberAfterInsert: DayOfTheWeek.friday)"
print(classDays)
// Prints "[DayOfTheWeek.friday, DayOfTheWeek.wednesday, DayOfTheWeek.monday]"