Скорее всего дело в том, что нельзя, обходя HashSet, менять его. Это только догадки.
Очень прошу объяснить, почему так код не работает? И как сделать правильно?
Также буду благодарна за полезные ссылки на хорошие объяснения по данному вопросу.
package com.javarush.task.task08.task0814;
import java.util.HashSet;
import java.util.Set;
/*
Больше 10? Вы нам не подходите
*/
public class Solution {
public static HashSet<Integer> createSet() {
HashSet<Integer> set = new HashSet<Integer>();
for (int i = 0; i < 20; i++){
set.add(i);
}
return set;
}
public static HashSet<Integer> removeAllNumbersGreaterThan10(HashSet<Integer> set) {
for (Integer num : set){
if (num > 10){
set.remove(num);
}
}
for (Integer num : set){
System.out.println(num);
}
return set;
}
public static void main(String[] args) {
}
}