Probleme in der Hash-Map angezeigt

8
%Vor%

Hallo!

Ich habe eine Hash-Karte erstellt, die Produktinformationen in einem Supermarkt enthält. Jedoch kann ich meine Schlüsselwerte (die ein Array ist) nicht korrekt anzeigen. Es zeigt mir irrelevante Dinge außer dem Produktnamen. Wie kann ich das korrigieren?

    
lzxcl 27.12.2015, 07:20
quelle

2 Antworten

5
%Vor%

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.

    
Eran 27.12.2015, 07:23
quelle
1

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%     
Siddharth 27.12.2015 08:36
quelle

Tags und Links