Tyler
Tyler

Reputation: 19848

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

What is the closest implementation of Objective-C's NSDictionary in Java? To me, it looks like HashMap<String, Object>, but I'm very new to Objective-C.

Thanks

Upvotes: 27

Views: 12324

Answers (3)

ldoogy
ldoogy

Reputation: 2869

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

Upvotes: 1

Barry Wark
Barry Wark

Reputation: 107754

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>.

Upvotes: 26

Scribble Master
Scribble Master

Reputation: 1130

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.

Upvotes: 13

Related Questions