En este artículo, aprenderemos cómo comparar dos objetos HashMap en Java. En el paquete java.util , la clase HashMap está presente. HashMap se utiliza para almacenar pares clave-valor, por lo que existen diferentes escenarios para comparar dos objetos de HashMap. Cual es la siguiente:
- Comparar entrada
- Comparar claves
- Comparar valores
Ejemplo:
Input : HashMapA = [a=1, b=2], HashMapB = [a=1, c=2] Output: Compare Entry = Not Equal Compare Keys = Not Equal Compare values = Equal
1 . Comparar entrada :
La entrada es un par clave-valor. Podemos comparar dos HashMap comparando Entrada con el método equals() del Mapa devuelve verdadero si los mapas tienen los mismos pares clave-valor que significan la misma Entrada.
A continuación se muestra la implementación:
Java
// Java program to compare two HashMap objects import java.util.*; class GFG { public static void main(String[] args) { // New HashMap1 HashMap<Integer, String> map1 = new HashMap<>(); // Add Entry to map map1.put(1, "Akshay"); map1.put(2, "Bina"); map1.put(3, "Chintu"); // New HashMap2 HashMap<Integer, String> map2 = new HashMap<>(); // Add Entry to map map2.put(3, "Chintu"); map2.put(2, "Bina"); map2.put(1, "Akshay"); // New HashMap3 HashMap<Integer, String> map3 = new HashMap<>(); // Add Entry to map map3.put(1, "Akshay"); map3.put(2, "Binod"); map3.put(3, "Chintu"); // Compare map1 and map2 System.out.println("map1 == map2 : " + map1.equals(map2)); // Compare map1 and map3 System.out.println("map1 == map3 : " + map1.equals(map3)); } }
map1 == map2 : true map1 == map3 : false
2. Comparar claves:
Podemos verificar si dos objetos HashMap tienen las mismas claves comparando sus claves obtenidas usando el método keySet() . Usamos el método equals() del conjunto para comparar claves.
A continuación se muestra la implementación:
Java
// Java program to compare two HashSet keys import java.util.*; class GFG { public static void main(String[] args) { // New HashMap1 HashMap<Integer, String> map1 = new HashMap<>(); // Add Entry to map map1.put(1, "Akshay"); map1.put(2, "Bina"); map1.put(3, "Chintu"); // New HashMap2 HashMap<Integer, String> map2 = new HashMap<>(); // Add Entry to map map2.put(3, "Chintu"); map2.put(2, "Bina"); map2.put(1, "Akshay"); // New HashMap3 HashMap<Integer, String> map3 = new HashMap<>(); // Add Entry to map map3.put(1, "Akshay"); map3.put(2, "Binod"); map3.put(4, "Chintu"); // Compare map1 and map2 keys using keySet() and // equals() method System.out.println( "map1 keys == map2 keys : " + map1.keySet().equals(map2.keySet())); // Compare map1 and map3 keys using keySet() and // equals() method System.out.println( "map1 keys == map3 keys : " + map1.keySet().equals(map3.keySet())); } }
map1 keys == map2 keys : true map1 keys == map3 keys : false
3. Comparar valores:
Podemos comparar si los valores contenidos en los objetos del mapa son iguales o no convirtiendo todos los valores del mapa en un conjunto usando el método de valores() y luego comparar los valores con el método equals() del conjunto.
A continuación se muestra la implementación:
Java
// Java program to compare HashMap values import java.util.*; class GFG { public static void main(String[] args) { // New HashMap1 HashMap<Integer, String> map1 = new HashMap<>(); // Add Entry to map map1.put(1, "Akshay"); map1.put(2, "Bina"); map1.put(3, "Chintu"); // New HashMap2 HashMap<Integer, String> map2 = new HashMap<>(); // Add Entry to map map2.put(3, "Chintu"); map2.put(2, "Bina"); map2.put(1, "Akshay"); // New HashMap3 HashMap<Integer, String> map3 = new HashMap<>(); // Add Entry to map map3.put(1, "Akshay"); map3.put(2, "Binod"); map3.put(3, "Shinchain"); // Value set of map1 HashSet<String> set1 = new HashSet<>(map1.values()); // Value set of map2 HashSet<String> set2 = new HashSet<>(map2.values()); // Value set of map3 HashSet<String> set3 = new HashSet<>(map3.values()); // Compare map1 and map2 values using equals() // method System.out.println("map1 values == map2 values : " + set1.equals(set2)); // Compare map1 and map3 values using equals() // method System.out.println("map1 values == map3 values : " + set1.equals(set3)); } }
map1 values == map2 values : true map1 values == map3 values : false
Publicación traducida automáticamente
Artículo escrito por nikhilchhipa9 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA