Мне нужно сравнить два HashMap с использованием Java.Я пытался с помощью метода equals (), но это не работает.Я думаю, может быть, поэтому в методе equash () HashMap для сравнения используются ссылки на объекты, а не значения объектов.Пример:
/*FIRST HASHMAP*/
Posto p1 = new Posto("005","Cat1");
Posto p2 = new Posto("001", "Cat2");
Posto p3 = new Posto("009", "Cat2");
Posto p4 = new Posto("005","Cat3");
Map<String, Posto> posti = new HashMap<String, Posto>();
posti.put(p1.getCode(), p1);
posti.put(p2.getCode(), p2);
posti.put(p3.getCode(), p3);
posti.put(p4.getCode(), p4);
/*SECOND HASHMAP*/
Posto p5 = new Posto("005","Cat1");
Posto p6 = new Posto("001", "Cat2");
Posto p7 = new Posto("009", "Cat2");
Posto p8 = new Posto("005","Cat3");
Map<String, Posto> pos = new HashMap<String, Posto>();
pos.put(p1.getCode(), p5);
pos.put(p2.getCode(), p6);
pos.put(p3.getCode(), p7);
pos.put(p4.getCode(), p8);
/*COMPARE*/
System.out.println(posti.equals(pos)); //THIS RETURNS FALSE (SHOULD BE TRUE)