Swift version: 5.1
Sets and arrays both store objects of your choosing, but they have four important differences:
As a result, you should use a set rather than an array if all the following criteria are true:
Hashabletypes, either your own or one of Swift’s built-in types likes strings and integers. Sets use hash values for fast look up of items.
You can switch between an array and a set simply enough:
let array = [1, 2, 3] let set = Set(array) let array2 = Array(set)
contains() on a set takes the same amount of time if you have one item as it does if you have one thousand items – it’s called an O(1) operation.
LEARN SWIFTUI FOR FREE I have a massive, free SwiftUI video collection on YouTube teaching you how to build complete apps with SwiftUI – check it out!
Available from iOS – learn more in my book Pro Swift
This is part of the Swift Knowledge Base, a free, searchable collection of solutions for common iOS questions.