Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Java
Expertise: Beginner
Jan 17, 2018

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


Avoiding the HashMap Size Trap

Map map = new HashMap(collection.size());
for (Object obj : collection) {
       map.put(obj.key, obj.value);
}

The code above wants to make sure that the HashMap doesn't need to be resized, so its sets the initial size to the number of elements that it will use. But, the HashMap implementation doesn't behave like this, it sets its internal threshold to threshold = (int)(capacity * loadFactor), this means that it will resize after 75% of the collection has been inserted into the map, causing extra garbage. Avoid this using the code below:

Map map = new HashMap(1+ (int) (collection.size() / 0.75));
Octavia Anghel
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date