How HashMap Works in Java ?




How HashMap Works in Java ?

    • HashMap is one of the most widly used implementation of Map to store key-value pairs. To implement HashMap with ArrayList.
    • It is provides two basic HashMap functions they are: get(key) and put(key, value).
    • While storing code to be checking the duplicate values. While duplicate values are presents to be removed.
    • Implementation should not be used as a replacement of HashMap. Also while testing the code, make sure that the Object used in the KEY has proper implementation of equals() method.

    Example:

      package com.journaldev.util;
      
      import java.util.ArrayList;
      import java.util.List;
      
      public class MyHashMap {
      
      	class Container{
      		Object key;
      		Object value;
      		public void insert(Object k, Object v){
      			this.key=k;
      			this.value=v;
      		}
      	}
      	
      	private Container c;
      	private List<Container> recordList;
      	
      	public MyHashMap(){
      		
      		this.recordList=new ArrayList<Container>();
      	}
      	
      	public void put(Object k, Object v){
      		this.c=new Container();
      		c.insert(k, v);
      		//check for the same key before adding
      		for(int i=0; i<recordList.size(); i++){
      			Container c1=recordList.get(i);
      			if(c1.key.equals(k)){
      				//remove the existing object
      				recordList.remove(i);
      				break;
      			}
      		}
      		recordList.add(c);
      	}
      	
      	public Object get(Object k){
      		for(int i=0; i<this.recordList.size(); i++){
      			Container con = recordList.get(i);
      			//System.out.println("k.toString():"+k.toString()+"con.key.toString()"+con.key.toString());
      			if (k.toString()==con.key.toString()) {
      				
      				return con.value;
      			}
      			
      		}
      		return null;
      	}
      	
      	public static void main(String[] args) {
      		MyHashMap hm = new MyHashMap();
      		hm.put("1", "1");
      		hm.put("2", "2");
      		hm.put("3", "3");
      		System.out.println(hm.get("3"));
      		hm.put("3", "4");
      		
      		System.out.println(hm.get("1"));
      		System.out.println(hm.get("3"));
      		System.out.println(hm.get("8"));
      	}
      
      }
      

      Output:

        3
        1
        4
        null
        

        Related Searches to How HashMap Works in Java ?