Ich versuche, einfach alle Schlüssel / Wert-Paare in einer ConcurrentHashMap zu drucken.
Ich habe diesen Code online gefunden, von dem ich dachte, dass er es tun würde, aber er scheint Informationen über die Buckets / Hashcodes zu bekommen. Um ehrlich zu sein, die Ausgabe ist ziemlich seltsam, es ist möglich, dass mein Programm falsch ist, aber ich möchte zuerst sicherstellen, dass dieser Teil das ist, was ich verwenden möchte.
%Vor%Dies gibt die Ausgabe für ungefähr 10 verschiedene Schlüssel mit Zählungen, die scheinbar die Summe der Anzahl der gesamten Einsätze in der Karte sind.
Die HashMap hat forEach
als Teil ihrer Struktur. Sie können das mit einem Lambda-Ausdruck verwenden, um den Inhalt in einem einzigen Liner auszudrucken, wie zum Beispiel:
ConcurrentHashMap
ist der Klasse HashMap
sehr ähnlich, mit dem Unterschied, dass ConcurrentHashMap
eine intern gepflegte Nebenläufigkeit bietet. Dies bedeutet, dass Sie beim Zugriff auf ConcurrentHashMap
in Multithread-Anwendungen keine synchronisierten Blöcke benötigen.
Um alle Schlüssel / Wert-Paare in ConcurrentHashMap
zu erhalten, funktioniert der Code, der Ihrem Code ähnlich ist, perfekt:
Der obige Code ist in einer Multithread-Umgebung in Ihrer Anwendung einigermaßen gültig. Der Grund, ich sage "einigermaßen gültig" ist, dass oben genannten Code noch Threadsicherheit bietet, kann es immer noch die Leistung der Anwendung verringern.
Hoffe das hilft dir.
Arbeite 100% sicher, probiere diesen Code für den get hashmap Schlüssel und Wert
aus %Vor%rufen Sie diese Methode nur auf, wenn Sie den HashMap-Wert anzeigen möchten
%Vor%Tags und Links java collections hashmap concurrenthashmap