Изменение копии Map

237
10 января 2022, 20:20

Подскажите:

HashMap<String,String>data=new HashMap<>();
data.put("Имя","Вася");
data.put("Фамилия","Иванов");
HashMap<String,String>data11=data;
data.put("Имя","Петя");
System.out.println(data11.get("Имя"));

Каким образом можно сделать, чтобы второе Map сохранило значение?

Answer 1
  1. Новая ссылка на тот же объект (то, что в вопросе):

    HashMap<String, String> data11 = data;

    var data = {}; 
    data["Имя"] = "Вася"; 
    data["Фамилия"] = "Иванов"; 
    var data11 = data; 
    data["Имя"] = "Петя"; 
    console.log(data11["Имя"]);

Новый объект с теми же данными (то, что Вы хотите):

HashMap<String, String> data11 = new HashMap<String, String>(data);

var data = {}; 
data["Имя"] = "Вася"; 
data["Фамилия"] = "Иванов"; 
var data11 = Object.assign({}, data); 
data["Имя"] = "Петя"; 
console.log(data11["Имя"]);

READ ALSO
Выбор зарезервированного порта

Выбор зарезервированного порта

Подскажите, какой, по вашему мнению, можно выбрать порт для планируемой системы автоматического православного IT-исповеданияСуть разработки...

112