A HashMap
может содержать повторяющиеся значения, поэтому в вашем примере в Map
.
будет 3 ключа и 3 значения.
Однако, если вы обеспокоены тем, что большие экземпляры хранятся несколько раз как значения в вашем 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
), но ссылки занимают небольшой объем памяти.