Map<Integer, Configuration> m
Configuration {
int configNumber;
Map<Integer, Pair<Set<Address>, Set<Integer>>> groupInfo;
}
Моя карта m по существу сопоставляет configNumber с классом конфигурации.Для будущего configNumber требуется информация из предыдущих значений configNumber.Тем не менее, когда я добавляю новый configNumber в мою карту, второй Set<Integer>>
следует с Set<Integer>>
недавно введенного configNumber.Например:
По умолчанию:
- Ключ:
0
, Значение: Configuration(configNum=0, groupInfo={1=([server3, server2, server1],[1, 2, 3, 4, 5, 6, 7, 8, 9, 10])})
Когда я добавляю новый Ключ, произнесите 1:
Ключ: 0
, Значение: Configuration(configNum=0, groupInfo={1=([server3, server2, server1],[6, 7, 8, 9, 10])})
Ключ: 1
, Значение: Configuration(configNum=1, groupInfo={1=([server3, server2, server1],[6, 7, 8, 9, 10]), 2=([server6, server5, server4],[1, 2, 3, 4, 5])})
Как видите, ключ 0
справа Set<Integer>
в паре меняется с тем, что было недавно поставлено.Я думал, что это была проблема ссылки.Но каждый раз я создавал new HashMap<>()
и помещал туда все значения, прежде чем получить к нему доступ.Любые советы будут оценены.