Collection Basics
What is Collection
Why Collection ?
Collection API
Collection Hierarchy
What is List
What is ArrayList
What is LinkedList
What is Vector
method of vector class in java
What is Stack
List Advance
ArrayList user defined object
ArrayList internal implementation
LinkedList internal implementation
ArrayList VS LinkedList
ArrayList VS Vector
What is HashSet
What is LinkedHashSet
What is TreeSet
Set Advance
When to Use HashSet
HashSet internal Working
When to use LinkedHashSet
TreeSet internal Working
Set add method
Iterate Collection
Iterate Collection
Advance for loop
What is Iterator
Advantage of Iterator
What is ListIterator
Iterator VS ListLterator
What is Enumeration
Enumeration VS Iterator
What is HashMap
What is LinkedHashMap
What is TreeMap
What is Hashtable
What is WeakHashMap
What is IdentityHashMap
What is Properties file
Map Advance
What is Load-Factor
how to load properties file in java
how to iterate map in java
how to retrieve element of map using keySet
difference between hashmap and hashtable
Map Interview
Internal implementation of HashMap
HashMap Collision
Rehashing Process
Internal working of LinkedHashMap
What is Priority Queue
Concurrent Collections
Concurrent Collections
Concurrentmap in java
Why ConcurrentModificationException
What is ConcurrentHashMap
Internal Implementation of CHM
HashMap VS ConcurrentHashMap
What is CopyOnWriteArrayList
What is CopyOnWriteArraySet
Concurrent Map 2
Arraylist VS CopyOnWriteArrayList
put() VS putIfAbsent()
remove() method
replace() method
Collection Sorting
Comparable VS Comparator
Sort by multiple fields
Legacy class
Arrays class
What is Collections
Collection VS Collections
immutable object

difference between put and putifabsent method in java

Difference between put and putIfAbsent method in java

in case of put() method of Map interface, When we will try to add duplicate key then put() method will replace existing key to new key.

But in case of putIfAbsent() method of ConcurrentMap  interface, When we will try to add duplicate key then putIfAbsent() method will not replace existing key to new key.

See by example

package javagf;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentMap;

public class Demo {
 public static void main(String[] args) {
 Map<Integer,String> putMethod = new HashMap();
 putMethod.put(101, "Vikas");//value is Vikas
 //now add duplicate key
 putMethod.put(101, "Vicky");// value is replaced
 System.out.println(putMethod);//value is Vicky
 ConcurrentMap<Integer, String> putIfAbsentmethod = new ConcurrentHashMap<Integer, String>();
 putIfAbsentmethod.putIfAbsent(101, "Vikas");//value is Vikas
 //now add duplicate key
 putIfAbsentmethod.putIfAbsent(101, "Vicky");//value not replaced 
 System.out.println(putIfAbsentmethod);//value is still Vikas




Full-stack web and mobile app development company Contact Us : Skype: indore.webcoder Email: Sales: +91 8085506229