什么是在Java中最接近Objective-C的NSDictionary
实现?对我而言,看起来像是HashMap<String, Object>
,但我对Objective-C非常陌生。
谢谢。
什么是在Java中最接近Objective-C的NSDictionary
实现?对我而言,看起来像是HashMap<String, Object>
,但我对Objective-C非常陌生。
谢谢。
NSDictionary
是一个类族 (参见Cocoa基础指南中的“类族”一节),这意味着实际实现对于 API 用户是隐藏的。事实上,Foundation 框架会根据数据量等运行时信息选择适当的实现方式。此外,NSDictionary
可以使用任何 id
作为键,而不仅仅是 NSString
(当然,键对象的 -hash
必须是常数)。
因此,最接近的类比可能是 Map<Object,Object>
。
对于实际应用:
HashMap<String, Object>
是一个简单的非并行字典的选择。
然而,如果你需要一个线程安全(原子)的数据结构,你需要使用
HashTable<String, Object>
它是线程安全的,但是需要注意的是它不支持 null 作为有效值或键。
我承认我是一个 Android 新手,但对我来说 ContentValues 似乎是最接近 NSDictionary
的东西。