Решение с реализацией второго метода в следующем виде не проходит валидацию
public static Set<Integer> removeAllNumbersGreaterThan10(Set<Integer> set) {
for(Integer x: set){
if(x>10){set.remove(x);}
}
return set;
}
В качестве правильного решения предлагается следующая реализация
public static Set<Integer> removeAllNumbersGreaterThan10(Set<Integer> set) {
Set<Integer> copy = new HashSet<>(set);
for(Integer x: copy){
if(x>10){set.remove(x);}
}
return set;
}
Никак не могу понять, в чем смысл нового списка copy и что меняет его наличие?package com.javarush.task.task08.task0814;
import java.util.HashSet;
import java.util.Set;
/*
Больше 10? Вы нам не подходите
*/
public class Solution {
public static Set<Integer> createSet() {
Set<Integer> i = new HashSet<>(); // напишите тут ваш код
for(int x=0;x<20;x++) {
i.add(x+100);
}
return i;
}
public static Set<Integer> removeAllNumbersGreaterThan10(Set<Integer> set) {
for(Integer x: set){
if(x>10){set.remove(x);}
}
return set;
}
public static void main(String[] args) {
}
}