Junior — Middle
Πώς υλοποιείτε την αποθήκευση στοιχείων σε ένα σύνολο με υποστήριξη της σειράς τους;
sobes.tech AI
Απάντηση από AI
Για την αποθήκευση στοιχείων σε ένα σύνολο διατηρώντας τη σειρά με την οποία προστέθηκαν στο iOS (Swift), μπορείτε να χρησιμοποιήσετε μια δομή δεδομένων που συνδυάζει τις ιδιότητες ενός συνόλου και μιας λίστας. Στη βασική βιβλιοθήκη Swift, υπάρχει ένας τύπος που ονομάζεται OrderedSet, από το iOS 13 και το macOS 10.15, που κάνει ακριβώς αυτό — αποθηκεύει μοναδικά στοιχεία και διατηρεί τη σειρά τους.
Παράδειγμα χρήσης του OrderedSet:
import Foundation
var orderedSet = OrderedSet<String>()
orderedSet.append("apple")
orderedSet.append("banana")
orderedSet.append("apple") // δεν θα προστεθεί, καθώς το στοιχείο ήδη υπάρχει
print(orderedSet) // ["apple", "banana"]
Εάν το OrderedSet δεν είναι διαθέσιμο, μπορείτε να υλοποιήσετε μια παρόμοια συμπεριφορά χρησιμοποιώντας μια λίστα για τη σειρά και ένα σύνολο για τον έλεγχο μοναδικότητας:
var array: [String] = []
var set: Set<String> = []
func addElement(_ element: String) {
if !set.contains(element) {
set.insert(element)
array.append(element)
}
}
addElement("apple")
addElement("banana")
addElement("apple")
print(array) // ["apple", "banana"]
Με αυτόν τον τρόπο, διατηρείτε τη σειρά προσθήκης και τη μοναδικότητα των στοιχείων.