Ein Array ist nicht als Schlüssel in HashMap
geeignet, da zwei verschiedene Array-Instanzen mit genau denselben Elementen als unterschiedliche Schlüssel betrachtet werden. Dieses Verhalten resultiert aus der Tatsache, dass Arrays die Object
-Methode von equals
nicht überschreiben, sodass zwei Arrays arr1
und arr2
nur dann gleich sind, wenn arr1==arr2
.
Das Drucken der Schlüssel ist nicht Ihr Hauptproblem. Dies kann einfach gelöst werden, indem Arrays.toString
zum Drucken des Array-Schlüssels verwendet wird.
Ich schlage vor, dass Sie Ihre HashMap
in HashMap<List<Integer>, String>
ändern.
Ich stimme Erans Antwort zu, dass Sie Ihren Schlüssel nicht als Integer-Array wählen sollten, aber ich denke, Ihr Problem mit der Anzeige wird nicht vollständig mit Arrays.toString gelöst, da es das Array im angegebenen Format und nicht in dem Sie geben wird brauchen. Sie müssen Ihre Daten explizit nach Ihren Anforderungen formatieren. Eine Beispieländerung der Anzeige vom obigen Beispiel könnte sein: -
%Vor%Tags und Links java