Java EnumMap equals() 方法



描述

Java EnumMap equals(Object o) 方法比較指定的物件與此對映的相等性。兩個物件都必須是對映。

宣告

以下是java.util.EnumMap.equals() 方法的宣告

public boolean equals(Object o)

引數

o − 要與此對映比較相等性的物件。

返回值

如果指定的物件等於此對映,則此方法返回 true

異常

檢查列舉、整數對的 EnumMap 相等性示例

以下示例演示了 Java EnumMap equals() 方法的使用,用於比較 EnumMap 例項。我們建立了一個列舉 Numbers。然後建立了兩個 enum Numbers 和 Integer 的 EnumMap 例項。添加了一些條目並比較了 enumMap 物件。

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);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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

檢查列舉、字串對的 EnumMap 相等性示例

以下示例演示了 Java EnumMap equals() 方法的使用,用於比較 EnumMap 例項。我們建立了一個列舉 Numbers。然後建立了兩個 enum Numbers 和 String 的 EnumMap 例項。添加了一些條目並比較了 enumMap 物件。

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);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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

檢查列舉、物件對的 EnumMap 相等性示例

以下示例演示了 Java EnumMap equals() 方法的使用,用於比較 EnumMap 例項。我們建立了一個列舉 Numbers。然後建立了兩個 enum Numbers 和 Student 物件的 EnumMap 例項。添加了一些條目並比較了 enumMap 物件。

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);
   }
}

輸出

讓我們編譯並執行上述程式,這將產生以下結果:

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
廣告