If I have a HashMap that looks like this:
HashMap<String, MyObject>
where the String
key is a field in MyObject
, does this string value get stored twice?
So when I add entries:
_myMap.put(myObj.getName(), myObj);
Am I using double the String size in terms of memory? Or does Java do something clever behind the scenes?
Thanks
Java uses the reference, so it is just a pointer to the string that it stores twice. So you don't have to worry if your string is huge, it will still be the same amount of memory that is used.