Hi again,

please consider to add hash() to interface Map, as an additional performance 
opportunity, see:
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6812862

It was rejected with:
implement a wrapper class for the "key" to customize its hash() & equals() 
methods

Unfortunately my earlier comment on this appears to be lost by migration to 
Jira, so here again:

Instantiating a wrapper object for each key contradicts the purpose of performance tuning and additionally increases memory footprint.

-Ulf


Am 08.04.2013 20:07, schrieb Mike Duigou:
Hello all;

This is a combined review for the new default methods on the java.util.Map 
interface being added for the JSR-335 lambda libraries. The reviews are being 
combined because they share a common unit test.

http://cr.openjdk.java.net/~mduigou/JDK-8010122/0/webrev/

8004518: Add in-place operations to Map
  forEach()
  replaceAll()

8010122: Add atomic operations to Map
  getOrDefault()
  putIfAbsent()          *
  remove(K, V)
  replace(K, V)
  replace(K, V, V)
  compute()              *
  merge()                *
  computeIfAbsent()      *
  computeIfPresent()     *

The * operations treat null values as being absent. (ie. the same as there 
being no mapping for the specified key).

The default implementations provided in Map are overridden in HashMap for 
performance purposes, in Hashtable for atomicity and performance purposes and 
in Collections for atomicity.

Mike

Reply via email to