Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

210
Views
Comprobar si un mapa contiene todo el contenido de otro mapa

Estoy tratando de verificar si un mapa contiene todos los contenidos de otro mapa. Por ejemplo, tengo un mapA que es Map<String, List<String>> y los elementos son:

 "1" -> ["a","b"] "2" -> ["c","d"]

otro mapB que también es Map<String, List<String>> , los elementos son:

 "1" -> ["a"] "2" -> ["c","d"],

Quiero crear una función de compare(mapA, mapB) que devolverá falso en este caso.

¿Cuál es la mejor manera de hacer esto?

over 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Dentro de su método compare(mapA, mapB) , simplemente puede usar:

 return mapA.entrySet().containsAll(mapB.entrySet());
over 4 years ago · Santiago Trujillo Report

0

Prueba este código:

Assert.assertTrue(currentMap.entrySet().containsAll(expectedMap.entrySet()));

over 4 years ago · Santiago Trujillo Report

0

puedes probar esto

 static boolean compare(Map<String, List<String>> mapA, Map<String, List<String>> mapB){ return mapA.entrySet().containsAll(mapB.entrySet()); }

Como supongamos, los datos proporcionados son algo como esto:

 Map<String, List<String>> mapA = new HashMap<>(); Map<String, List<String>> mapB = new HashMap<>(); mapA.put("1", Arrays.asList("a","b")); mapA.put("2", Arrays.asList("c","d")); mapB.put("1", Arrays.asList("a")); mapB.put("2", Arrays.asList("c", "d")); System.out.println(compare(mapA, mapB));

En este caso, el método compare(mapA, mapB) devolverá falso. Pero supongamos que los datos proporcionados son algo como esto:

 Map<String, List<String>> mapA = new HashMap<>(); Map<String, List<String>> mapB = new HashMap<>(); mapA.put("1", Arrays.asList("a","b")); mapA.put("2", Arrays.asList("c","d")); mapB.put("1", Arrays.asList("a", "b")); mapB.put("2", Arrays.asList("c", "d")); System.out.println(compare(mapA, mapB));

En este caso, el método compare(mapA, mapB) , que he escrito, devolverá verdadero.

método de compare(mapA, mapB) básicamente verificando todas las entradas en mapA con mapB, si lo mismo devuelve sí, de lo contrario devuelve falso;

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!