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. ViewResult有没有ActionResult RedirectToAction的等价物?
- 5. DotNET上有没有JVisualVM的等价物?
- 6. 有没有.NET HttpWebRequest.ClientCertificates的Javascript等价物?
- 7. 有没有glxinfo的Direct 3D等价物?
- 8. 有没有Linux的SetWindowPos等价物?
- 9. 有没有swfObject.js的Silverlight等价物?
- 10. Flex中有没有JMock的等价物?
- 11. 有没有Jasper JS的setUpClass等价物?
- 12. 在Go中有没有java.io.Reader等价物?
- 13. 有没有'git sed'或等价物?
- 14. 有没有`git-dropbox`或等价物?
- 15. django-evolution有没有SQLAlchemy等价物?
- 16. C中的数组有没有indexOf等价物?
- 17. Cocoa中的Java RMI等价物?
- 18. Window Load事件的Xamarin.Mac/Cocoa等价物?
- 19. 在OS X Cocoa中的java.awt.Robot等价物?
- 20. C#TryParse有没有提升lexical_cast等价物?
- 21. 有没有一个C++等价的WaitforSingleObject?
- 22. 有没有C#等价于Ruby的`respond_to?`?
- 23. 有没有C#等价于Java的AbstractList?
- 24. 没有Google Drive API writersCanInvite等价物吗?
- 25. 对于macos/cocoa/opengl是否有CADisplayLink等价物?
- 26. 有没有C#等价于IsDebuggerPresent()?
- 27. BufferedImage.getRGB C#等价物?
- 28. 有没有一个JavaScript的PHP的urldecode或html_entity_decode()的等价物?
- 29. 有没有gcc的__attribute__(纯)的便携式等价物?
- 30. 有没有Java的PHP的gzdeflate等价物?
雅,它其实非常相似,谢谢。 :) – 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