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"]
Այսպիսով՝ պահպանում եք ավելացման հերթականությունը և տարրերի եզակիությունը։