instanceof почему-то валидатор не принимает. Хотя ответ соответствует.
package com.javarush.task.task08.task0820;
import java.util.HashSet;
import java.util.Set;
import java.util.Iterator;
/*
Множество всех животных
*/
public class Solution {
public static void main(String[] args) {
Set<Cat> cats = createCats();
Set<Dog> dogs = createDogs();
Set<Object> pets = join(cats, dogs);
//printPets(pets);
removeCats(pets, cats);
printPets(pets);
}
public static Set<Cat> createCats() {
Set<Cat> cats = new HashSet<>();
//напишите тут ваш код
cats.add(new Cat());
cats.add(new Cat());
cats.add(new Cat());
cats.add(new Cat());
return cats;
}
public static Set<Dog> createDogs() {
//напишите тут ваш код
Set<Dog> dogs = new HashSet<>();
dogs.add(new Dog());
dogs.add(new Dog());
dogs.add(new Dog());
return dogs;
}
public static Set<Object> join(Set<Cat> cats, Set<Dog> dogs) {
//напишите тут ваш код
Set<Object> pets = new HashSet<>();
for(Cat a:cats){
pets.add(a);
}
for(Dog a:dogs){
pets.add(a);
}
return pets;
}
public static void removeCats(Set<Object> pets, Set<Cat> cats) {
//напишите тут ваш код
Iterator iterator = pets.iterator();
while (iterator.hasNext()) {
if (iterator.next() instanceof Cat)
iterator.remove();}
}
public static void printPets(Set<Object> pets) {
//напишите тут ваш код
for(Object a:pets)
System.out.println(a);
}
//напишите тут ваш код
public static class Dog{}
public static class Cat{}
}