Мне нужно сделать копию HashMap<Integer, List<MySpecialClass> >
, но когда я что-то меняю в копии, я хочу, чтобы оригинал оставался прежним. то есть когда я удаляю что-то из List<MySpecialClass>
из копии, он остается в List<MySpecialClass>
в оригинале.
Если я правильно понимаю, эти два метода создают только мелкую копию, которая не то, что я хочу:
mapCopy = new HashMap<>(originalMap);
mapCopy = (HashMap) originalMap.clone();
Я прав?
Есть ли лучший способ сделать это, чем просто перебирать все ключи и все элементы списка и скопировать их вручную?