What is the closest implementation of Objective-C\'s NSDictionary
in Java? To me, it looks like HashMap
, but I\'m very new t
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>
.
I'm admittedly an Android newbie, but to me ContentValues seems to be the closest thing to NSDictionary
.
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 use
HashTable<String, Object>
which is thread safe, but - notably - does not accept null as a valid value or key.