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

Categorized in:

Tagged in:

, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,