Конкретно интересует: Map<String, Cat> map = addCatsToMap(cats); Как объект Cat может быть (value) и как массив может быть Аргументом в методе addCatsToMap public static Map<String, Cat> addCatsToMap(String[] cats) Метод addCatsToMap принимает аргумент Массив cats, что это значит ? Если строка из массива - это ключ, то как объект Cat может являться значением ? Что нужно сделать: Добавить в коллекцию 10 котов, в качестве ключа использовать строку из массива
package com.javarush.task.task08.task0803;

import java.util.HashMap;
import java.util.Map;

/*
Коллекция Map из котов
*/

public class Solution {
    public static void main(String[] args) throws Exception {
        String[] cats = new String[]{"васька", "мурка", "дымка", "рыжик", "серый", "снежок", "босс", "борис", "визя", "гарфи"};

        Map<String, Cat> map = addCatsToMap(cats);

        for (Map.Entry<String, Cat> pair : map.entrySet()) {
            System.out.println(pair.getKey() + " - " + pair.getValue());
        }
    }


    public static Map<String, Cat> addCatsToMap(String[] cats) {
        //напишите тут ваш код
        Map<String, Cat> cat = new HashMap<String, Cat>();



    }


    public static class Cat {
        String name;

        public Cat(String name) {
            this.name = name;
        }

        @Override
        public String toString() {
            return name != null ? name.toUpperCase() : null;
        }
    }
}