Имя переменной, в данном случае это экземпляр класса Cat, должен быть уникальным.
Примерно так:
Cat cat1 = new Cat("борис");
Cat cat2 = new Cat("гарфи");
cat1 cat2, это уникальные идентификаторы со ссылками на разные объекты. Однако я не понял что мы имеем в коллекции.
public static Map<String, Cat> addCatsToMap(String[] cats) {
Map<String, Cat> map = new HashMap<>();
for (String x : cats) {
map.put(x, new Cat(x));
}
return map;
}
В цикле, первый аргумент это имя ключа, а второй, это сам объект, создаваемый через конструктор, но я не могу понять, какое имя переменной получает созданный объект?
В коллекции мы имеем пары:
Ключ: Конструктор в котором указано значение переменной экземпляра name Имя переменной объекта при создании
борис // new Cat("борис") // ????
Получается, в памяти появился объект типа Cat cо значением локальной переменной экземпляра "борис", но какое имя переменной, которая хранит ссылку?