Was bedeutet Map size () - Methode zurückgeben?
Ich habe eine Karte die wie folgt deklariert -
Map<Date, Long[]> myMap = new TreeMap<Date, Long[]>();
Habe ich einige Schlüssel-Wert-Paare, die anzeigen, überprüfen Sie die Größe wie folgt -
myMap.size(); //returns 29
myMap.values().size(); //returns 31
Alle Termine (Tasten) unterscheiden.
Sind das nicht zwei zurückgeben sollte, gleiche Werte?
- Gibt es irgendwelche Date-Objekte auf das gleiche array von Longs?
- Können die Tasten Punkt auf denselben Wert?
- Ja. Sie können k0 -> v0 und k1 -> v0. Aber ich bin mir nicht sicher, dass die Karte wäre wirklich wichtig, das. Ich war ein wenig überrascht zu sehen, das Schlüssel-Anzahl und Wert-Anzahl unterscheiden.
- Zwei
Date
Tasten zugeordnet werden können, auf die gleicheLong[]
Wert, aber das sollte nicht dazu führen, dass das Verhalten, die Sie beschreiben (wenn es hatte keinen Effekt, es müsste anders herum sein). - Ich denke, wir würden alle besser dran, wenn Sie zeigten uns einen kleinen kompilierbar und ausführbar-Programm, das zeigt Ihr problem, ein sscce. Wir wären viel besser in der Lage, Ihnen zu helfen, wenn wir konnten das problem reproduzieren.
- Nicht ganz SSCCE. Wieder, Lesen Sie bitte den link -- aber nur wenn Sie wollen unsere Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gegeben, dass die zurückgegebene Sammlung von TreeMap Werte () - Methode (in JDK 6, mindestens), hat eine Größe wie folgt:
Ich würde sagen, Sie haben etwas hinzufügen neue Einträge auf der Karte zwischen Ihrem zwei
size()
Anrufe. Um klar zu sein,map.values().size()
Delegiertenmap.size()
. Deshalb gibt es keine Möglichkeit, Sie zurückgeben kann zwei verschiedene Werte für die gleiche Karte mit dem gleichen Inhalt.