不過變通的方法卻有很多,例如說手動對 key 進行排序,或者把 keys 丟到 NSOrderedSet 裡面去,或者這裡有一些第三方的實現:GitHub - nicklockwood/OrderedDictionary: This library provides OrderedDictionary and MutableOrderedDictionary subclasses.GitHub - lukaskubanek/OrderedDictionary: An implementation of OrderedDictionary in Swift
如果你是希望有一種資料結構,他的特性像 map 並且 key 是有序的,那麼其實原生的 NSDictionary 並沒有這樣的特性,Set 是有的:NSOrderedSet
不過變通的方法卻有很多,例如說手動對 key 進行排序,或者把 keys 丟到 NSOrderedSet 裡面去,或者這裡有一些第三方的實現:GitHub - nicklockwood/OrderedDictionary: This library provides OrderedDictionary and MutableOrderedDictionary subclasses.GitHub - lukaskubanek/OrderedDictionary: An implementation of OrderedDictionary in Swift
當然你也可以看這個文章:Swift Generics Tutorial,這裡講的還是用 Cocoa 如何去做一個 Ordered Dictionary,總之在現實場景中代替的方案有很多。
如果你是希望用 Objective-C 或者 Swift 去實現一個 TreeMap 這個資料結構,那你看 Java TreeMap 的原始碼就好了,顯而易見的 TreeMap 是用紅黑樹實現的,你用 OC 或者 Swift 寫一套吧。