难道一个Java HashMap
保存重复的值作为唯一的或不保存他们的个人?
让我们想象一下,我有以下键值对值:
A -> "a very long string...."
B -> "another very long string...."
C -> "the same very long string from A key.... (but not same string instance)"
将它保存为3个键和3个值,或作为键3和2倍的值(如值A
是完全相同的,作为值C
)
我担心的是大小,因为我要保存的值是相当大的,并没有任何意义复制它们。
一个HashMap
可以包含重复的值,所以在你的榜样将有3个按键,并在3个值Map
。
但是,如果您担心大量实例存储多倍值在你Map
,你应该引用存储到同一个实例。
例如:
String val = "a very long String............";
String val2 = "a second long String.........";
map.put(1,val);
map.put(2,val2);
map.put(3,val);
只有两个大的String
情况下。将Map
包含这些3个引用String
S(两个引用到所述第一String
和一个参照第二String
),但引用占用存储量小。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句