3
A
回答
4
嘗試NSDictionary/NSMutableDictionary。另一方面,當它是最好的數據結構選擇時,你應該使用地圖/字典,不僅僅因爲它簡單快捷(儘管程序員時間很昂貴,正確的結構選擇有助於創建更好的整體設計)。當您需要快速查找值時,地圖很有意義,而且您不關心它們是否按排序順序存儲。
2
您可能還想使用NSMapTable。它的主要好處是它不會像NSDictionary那樣複製密鑰。
+0
另請參見:NSHashTable(僅適用於Mac,不適用於iOS AFAIK)。 – 2011-06-04 22:15:54
相關問題
- 1. C#:有沒有JTable的等價物?
- 2. C#ManualResetEvent的Objective-C/Cocoa等價物
- 3. Cocoa中UIScrollViewDelegate的等價物?
- 4. 有沒有.NET HttpWebRequest.ClientCertificates的Javascript等價物?
- 5. 有沒有Linux的SetWindowPos等價物?
- 6. DotNET上有沒有JVisualVM的等價物?
- 7. 有沒有glxinfo的Direct 3D等價物?
- 8. 有沒有'git sed'或等價物?
- 9. 在Go中有沒有java.io.Reader等價物?
- 10. 有沒有`git-dropbox`或等價物?
- 11. Cocoa中的Java RMI等價物?
- 12. 在OS X Cocoa中的java.awt.Robot等價物?
- 13. 有沒有C#等價於Ruby的`respond_to?`?
- 14. 有沒有一個C++等價的WaitforSingleObject?
- 15. 對於macos/cocoa/opengl是否有CADisplayLink等價物?
- 16. BufferedImage.getRGB C#等價物?
- 17. 有沒有一個JavaScript的PHP的urldecode或html_entity_decode()的等價物?
- 18. 有沒有gcc的__attribute__(純)的便攜式等價物?
- 19. 有沒有Java的PHP的gzdeflate等價物?
- 20. 有沒有Ruby的「任何?」的Python等價物?功能?
- 21. 有沒有iOS的didReceiveMemoryWarning的Android等價物?
- 22. 有沒有PHP的preg_replace的MySQL等價物?
- 23. 有沒有一個PHP的Perl的URI :: ParseSearchString等價物?
- 24. 有沒有.NET Web Start的.NET等價物?
- 25. 有沒有人知道TikZ的非TeX等價物?
- 26. 在libGDX中有沒有JavaFX的PathTransition等價物?
- 27. 有沒有jQuery Regex的等價物以及如何使用它?
- 28. 有沒有timeGetTime()的標準庫等價物?
- 29. 有沒有Linux的「資源文件」等價物?
- 30. 有沒有辦法在XSL-FO中使用'rowspan'的等價物?
雅,它其實非常相似,謝謝。 :) – Frost 2010-07-02 23:24:10
map <>的內部表示是排序的,它允許您按排序順序遍歷鍵值對。 NSDictionary/NSMutableDictionary需要提取鍵,然後對它們進行排序才能達到相同的目的。我也正在尋找一個Obj-C模擬地圖<>,但他們不是。 – George 2011-04-06 17:05:49
@George:是的,但是「訂購」是成本。 hash_map(或unordered_map)可以更快速地查找已知鍵,並可以更快地插入和刪除。如果你需要一個排序的關聯容器,那麼映射<>是有意義的,否則hash_map可能是更好的選擇。 – Alan 2011-04-06 17:21:30