What is the Java equivalent of Objective-C's NSDictionary? What is the Java equivalent of Objective-C's NSDictionary? objective-c objective-c

What is the Java equivalent of Objective-C's NSDictionary?


NSDictionary is a class cluster (see the "Class Cluster" section in The Cocoa Fundamentals Guide), meaning that the actual implementation is hidden from you, the API user. In fact, the Foundation framework will choose the appropriate implementation at run time based on amount of data etc. In addition, NSDictionary can take any id as a key, not just NSString (of course, the -hash of the key object must be constant).

Thus, closest analog is probably Map<Object,Object>.


For practical usage:HashMap<String, Object> would be the way to go for a simple, non-parallel dictionary.However, if you need something that is thread-safe (atomic), you'd have to useHashTable<String, Object>which is thread safe, but - notably - does not accept null as a valid value or key.


I'm admittedly an Android newbie, but to me ContentValues seems to be the closest thing to NSDictionary.