Собственно, может глаз замылился или туплю. Но в общем, не пропускает решение. Что может быть не так?
package com.javarush.task.jdk13.task09.task0927;
import java.util.*;
/*
Десять котов
*/
public class Solution {
public static void main(String[] args) {
Map<String, Cat> map = createMap();
Set<Cat> set = convertMapToSet(map);
printCatSet(set);
}
public static Map<String, Cat> createMap() {
//напишите тут ваш код
Map<String,Cat> createcat = new HashMap<>();
createcat.put("Барсик", new Cat("Перс"));
createcat.put("Гера", new Cat("Мейн-кун"));
createcat.put("Афина", new Cat("Сфинкс"));
createcat.put("Минг", new Cat("Абиссин"));
createcat.put("Дымка", new Cat("Рэгдолл"));
createcat.put("Том", new Cat("Девон"));
createcat.put("Пушок", new Cat("Мэнкс"));
createcat.put("Пират", new Cat("Манчкин"));
createcat.put("Саймон", new Cat("Шартрез"));
createcat.put("Полосатик", new Cat("Корат"));
return createcat;
}
public static Set<Cat> convertMapToSet(Map<String, Cat> map) {
//напишите тут ваш код
Set<Cat> catmap = new HashSet<>(map.values());
return catmap;
}
public static void printCatSet(Set<Cat> set) {
for (Cat cat : set) {
System.out.println(cat);
}
}
public static class Cat {
public String name;
public Cat(String name) {
this.name = name;
}
public String toString() {
return "Cat " + this.name;
}
@Override
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Cat)) {
return false;
}
Cat cat = (Cat) o;
return Objects.equals(name, cat.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
}
}