Java EnumMap equals() Method



Description

The Java EnumMap equals(Object o) method compares the specified object with this map for equality.Both objects must be maps.

Declaration

Following is the declaration for java.util.EnumMap.equals() method

public boolean equals(Object o)

Parameters

o − the object to be compared for equality with this map.

Return Value

This method returns true if the specified object is equal to this map

Exception

NA

Checking Equality of an EnumMap of Enum, Integer Pairs Example

The following example shows the usage of Java EnumMap equals() method to compare the EnumMap instances. We've created a enum Numbers. Then two EnumMap instances are created of enum Numbers and Integer. Few entries are added and enumMap objects are compared.

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {

   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };

   public static void main(String[] args) {
   
      EnumMap<Numbers, Integer> map1 =
         new EnumMap<>(Numbers.class);

      EnumMap<Numbers, Integer> map2 =
      new EnumMap<>(Numbers.class);

      // associate values in map1
      map1.put(Numbers.ONE, 1);
      map1.put(Numbers.TWO, 2);
      map1.put(Numbers.THREE, 3);
      map1.put(Numbers.FOUR, 4);

      // associate values in map2
      map2.put(Numbers.ONE, 1);
      map2.put(Numbers.TWO, 2);
      map2.put(Numbers.THREE, 3);
      map2.put(Numbers.FOUR, 4);

      // print the maps
      System.out.println("map1:" + map1);
      System.out.println("map2:" + map2);

      // check for equality between maps
      boolean equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);

      // add one more value in map2
      map2.put(Numbers.FIVE, 5);

      // check for equality between maps
      equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

map1:{ONE=1, TWO=2, THREE=3, FOUR=4}
map2:{ONE=1, TWO=2, THREE=3, FOUR=4}
Map1 and map 2 are equal:true
Map1 and map 2 are equal:false

Checking Equality of an EnumMap of Enum, String Pairs Example

The following example shows the usage of Java EnumMap equals() method to compare the EnumMap instances. We've created a enum Numbers. Then two EnumMap instances are created of enum Numbers and String. Few entries are added and enumMap objects are compared.

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {

   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };

   public static void main(String[] args) {
   
      EnumMap<Numbers, String> map1 =
         new EnumMap<Numbers, String>(Numbers.class);

      EnumMap<Numbers, String> map2 =
      new EnumMap<Numbers, String>(Numbers.class);

      // associate values in map1
      map1.put(Numbers.ONE, "1");
      map1.put(Numbers.TWO, "2");
      map1.put(Numbers.THREE, "3");
      map1.put(Numbers.FOUR, "4");

      // associate values in map2
      map2.put(Numbers.ONE, "1");
      map2.put(Numbers.TWO, "2");
      map2.put(Numbers.THREE, "3");
      map2.put(Numbers.FOUR, "4");

      // print the maps
      System.out.println("map1:" + map1);
      System.out.println("map2:" + map2);

      // check for equality between maps
      boolean equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);

      // add one more value in map2
      map2.put(Numbers.FIVE, "5");

      // check for equality between maps
      equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

map1:{ONE=1, TWO=2, THREE=3, FOUR=4}
map2:{ONE=1, TWO=2, THREE=3, FOUR=4}
Map1 and map 2 are equal:true
Map1 and map 2 are equal:false

Checking Equality of an EnumMap of Enum, Object Pairs Example

The following example shows the usage of Java EnumMap equals() method to compare the EnumMap instances. We've created a enum Numbers. Then two EnumMap instances are created of enum Numbers and Student objects. Few entries are added and enumMap objects are compared.

package com.tutorialspoint;

import java.util.EnumMap;

public class EnumMapDemo {

   // create an enum
   public enum Numbers {
      ONE, TWO, THREE, FOUR, FIVE
   };

   public static void main(String[] args) {
   
      EnumMap<Numbers, Student> map1 =
         new EnumMap<>(Numbers.class);

      EnumMap<Numbers, Student> map2 =
      new EnumMap<>(Numbers.class);

      // associate values in map1
      map1.put(Numbers.ONE, new Student(1, "Julie"));
      map1.put(Numbers.TWO, new Student(2, "Robert"));
      map1.put(Numbers.THREE,new Student(3, "Adam"));

      // associate values in map2
      map2.put(Numbers.ONE, new Student(1, "Julie"));
      map2.put(Numbers.TWO, new Student(2, "Robert"));
      map2.put(Numbers.THREE,new Student(3, "Adam"));

      // print the maps
      System.out.println("map1:" + map1);
      System.out.println("map2:" + map2);

      // check for equality between maps
      boolean equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);

      // add one more value in map2
      map2.put(Numbers.FOUR, new Student(4, "Jene"));

      // check for equality between maps
      equal = map1.equals(map2);

      // print the result
      System.out.println("Map1 and map 2 are equal:" + equal);
   }
}
class Student {
   int rollNo;
   String name;

   Student(int rollNo, String name){
      this.rollNo = rollNo;
      this.name = name;
   }

   @Override
   public String toString() {
      return "[ " + this.rollNo + ", " + this.name + " ]";
   }
   @Override
   public boolean equals(Object obj) {
      if(obj == null) return false;
      Student s = (Student)obj;
      return this.rollNo == s.rollNo && this.name.equalsIgnoreCase(s.name);
   }
}

Output

Let us compile and run the above program, this will produce the following result −

map1:{ONE=[ 1, Julie ], TWO=[ 2, Robert ], THREE=[ 3, Adam ]}
map2:{ONE=[ 1, Julie ], TWO=[ 2, Robert ], THREE=[ 3, Adam ]}
Map1 and map 2 are equal:true
Map1 and map 2 are equal:false
java_util_enummap.htm
Advertisements