Товарищи, подскажите где ошибка? На выходе получается котов не 10, а 20. Бьюсь и не могу понять почему так...
Ну не могут же коты в мапе множиться...
package com.javarush.task.task09.task0927;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/*
Десять котов
*/
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> map = new HashMap<>();
Cat cat1 = new Cat("Vasya");
Cat cat2 = new Cat("Murka");
Cat cat3 = new Cat("Murzik");
Cat cat4 = new Cat("Barsik");
Cat cat5 = new Cat("Kosoy");
Cat cat6 = new Cat("Vlad");
Cat cat7 = new Cat("Anfisa");
Cat cat8 = new Cat("Max");
Cat cat9 = new Cat("Lica");
Cat cat10 = new Cat("Vara");
map.put("Vaska",cat1);
map.put("Murka",cat2);
map.put("Murzik",cat3);
map.put("Barsik",cat4);
map.put("Kosoy",cat5);
map.put("Vlad",cat6);
map.put("Anfisa",cat7);
map.put("Max",cat8);
map.put("Lica",cat9);
map.put("Vara",cat10);
return map;
//напишите тут ваш код
}
public static Set<Cat> convertMapToSet (Map < String, Cat > map){
Set <Cat> cats = new HashSet<>(map.values());
cats.addAll(createMap().values());
return cats;
//напишите тут ваш код
}
public static void printCatSet(Set<Cat> set) {
for (Cat cat : set) {
System.out.println(cat);
}
}
public static class Cat {
private String name;
public Cat(String name) {
this.name = name;
}
public String toString() {
return "Cat " + this.name;
}
}
}