RFR: 8004518 & 8010122 : Default methods on Map

Mike Duigou mike.duigou at oracle.com
Mon Apr 8 18:07:02 UTC 2013


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
 


More information about the core-libs-dev mailing list