I am really sorry for this unavoidable delay.
Please don't think otherwise.
I have a small doubt.
if(result != null) // Case another thread altered it
System.out.println("Previous value: " + result);
As I understand, this is to understand when element has been added.
But the above is about 250% faster
This is because the above code will call putifAbsent() less frequently.
Is my understanding correct ?