Ich habe eine ziemlich dumme Frage, aber ich frage mich, ob es möglich ist, Eingänge einer Hash-Karte mit equals()
zu vergleichen, bevor der Compiler es für uns tun würde. Ich versuche zu ermitteln, wie oft ich ein doppeltes Schlüssel/Wert-Paar in die Karte eingegeben habe.Vergleichen von Hastable mit Gleichgestellten
Ich habe einen Code geschrieben, aber ich weiß nicht, wie man die equals()
implementieren. Irgendeine Idee?
Map<String, String> newMap = new LinkedHashMap<>();
newMap.put("aaa", "bbb");
newMap.put("ccc", "ddd");
newMap.put("eee", "fff");
newMap.put("aaa", "bbb");
System.out.println(newMap.size());
for(String item : newMap.keySet()){
System.out.println(item + " "+newMap.get(item));
}
Was genau versuchen Sie zu tun? Deine Frage ist ein wenig unklar. –
Nun, ich versuche tatsächlich einen Zähler zu bekommen, wie oft ich das gleiche Schlüssel-Wert-Paar eingegeben habe. –
Soll die Struktur das für Sie tun? (Es ist nicht - Sie müssten Ihre eigenen schreiben.) Eine 'Map' speichert definitionsgemäß nur einen Wert pro Schlüssel, also wenn Sie einen Wert mit dem Schlüssel' "aaa" 'hinzufügen und dann einen zweiten Wert mit hinzufügen der gleiche Schlüssel, der erste ist _ersetzt_. Sie können (in Ihrem eigenen Code) 'newMap.containsKey()' verwenden, um zu sehen, ob der Schlüssel bereits in der 'Map' existiert. –