I get an error on IDE saying required type 'Cat' , given 'Object'.
I commented out the line so I could submit the question...
package com.codegym.task.task09.task0927;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
/*
Ten cats
*/
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() {
HashMap<String, Cat> map = new HashMap<>();
Cat cat1 = new Cat("cat1");
Cat cat2 = new Cat("cat2");
Cat cat3 = new Cat("cat3");
Cat cat4 = new Cat("cat4");
Cat cat5 = new Cat("cat5");
Cat cat6 = new Cat("cat6");
Cat cat7 = new Cat("cat7");
Cat cat8 = new Cat("cat8");
Cat cat9 = new Cat("cat9");
Cat cat10 = new Cat("cat10");
map.put(cat1.name, cat1);
map.put(cat2.name, cat2);
map.put(cat3.name, cat3);
map.put(cat4.name, cat4);
map.put(cat5.name, cat5);
map.put(cat6.name, cat6);
map.put(cat7.name, cat7);
map.put(cat8.name, cat8);
map.put(cat9.name, cat9);
map.put(cat10.name, cat10);
return map;
}
public static Set<Cat> convertMapToSet(Map<String, Cat> map) {
HashSet<Cat> catSet = new HashSet<>();
for (Map.Entry pair : map.entrySet()) {
// catSet.add(pair.getValue());
}
return catSet;
}
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;
}
}
}