CodesJava

Easy learning with example program codes

how to find user defined objects as a key from linkedhashmap?


LinkedHashMap

LinkedHashMap extends HashMap class and implements the Map interface. It contains the elements in key-value pair form. It maintains insertion order for its elements. It not allowed duplicate key. A LinkedHashMap can have only one null key and multiple null values.

Example

package com.codesjava;
 
import java.util.LinkedHashMap;
 
class Employee{    
    private String name;
    private int salary;
    private int id;
 
    public Employee(int id, String name, int salary){
    	this.id = id;
        this.name = name;
        this.salary = salary;
    }
 
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getSalary() {
        return salary;
    }
    public void setSalary(int salary) {
        this.salary = salary;
    }
    public int getId() {
	return id;
    }
    public void setId(int id) {
 	this.id = id;
    }
    public String toString(){
            return "Id: "+this.id+", Name: "+this.name+", Salary: "+this.salary;
    }
 
    @Override
    public int hashCode() {
      System.out.println("In hashcode");
      return this.getId();
    }
 
    @Override
    public boolean equals(Object obj) {
            Employee e = null;
	    if(obj instanceof Employee){
	        e = (Employee) obj;
	    }
	    System.out.println("In equals");
	    if(this.getId() == e.getId()){
	        return true;
	    } else {
	        return false;
	    }  
     }
}
 
public class Test {
	public static void main(String args[]){
		LinkedHashMap<Employee, String> linkedHashMap = new LinkedHashMap<Employee, String>();
		linkedHashMap.put(new Employee(1,"Jai",50000), "JAI");
		linkedHashMap.put(new Employee(2,"Mahesh",80000), "MAHSESH");
		linkedHashMap.put(new Employee(3,"Vishal",60000), "VISHAL");
		linkedHashMap.put(new Employee(4,"Hemant",64000), "HEMANT");
		System.out.println("HashMap elements:" + linkedHashMap);
		//Create Key
		Employee key = new Employee(2,"Mahesh",80000);
		System.out.println("HashMap containis specified key:" + linkedHashMap.containsKey(key));
	}
}

Output

In hashcode
In hashcode
In hashcode
In hashcode
HashMap elements:{Id: 1, Name: Jai, Salary: 50000=JAI, Id: 2, Name: Mahesh, Salary: 80000=MAHSESH, 
Id: 3, Name: Vishal, Salary: 60000=VISHAL, Id: 4, Name: Hemant, Salary: 64000=HEMANT}
In hashcode
In equals
HashMap containis specified key:true
Sign Up/ Sign In
Ask a Question


Copyright © 2018 CodesJava DMCA.com Protection Status SiteMap Reference: Java Wiki