public class Solution {
public static HashSet<Integer> createSet() {
HashSet<Integer> set = new HashSet<>();
for (int x = 0; x < 20; x++){
set.add(x);
}
return set;
}
public static HashSet<Integer> removeAllNumbersMoreThan10(HashSet<Integer> set) {
Iterator<Integer> iterator = set.iterator();
Integer num = iterator.next();
while (iterator.hasNext()) {
if (num > 10) iterator.remove();
}
return set;
}
public static void main(String[] args) {
removeAllNumbersMoreThan10(createSet());
for (Integer numa:createSet()) {
System.out.println(numa);
}
}
}
Александр
17 уровень
Подскажите, почему не работает Main?
Архивный
Комментарии (14)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Chocological Software Engineer
16 мая 2018, 20:05
вы удаляете и выводите 2 разных коллекции)
0
Александр
16 мая 2018, 20:07
т.е. эта задача решается через два списка?
коллекция же одна в методе createSet - set.
0
Chocological Software Engineer
16 мая 2018, 20:10
нет, наоборот через 1, у вас 2
0
Александр
16 мая 2018, 20:13
не понимаю, объясните пожалуйста
0
Chocological Software Engineer
16 мая 2018, 20:15
в методе вы создаете коллекцию, метод вызывается 2 раза, следовательно и коллекции 2
Так лучше не делать, программа просто зависает
0
Александр
16 мая 2018, 20:19
Да, программа зависает, а как правильно создать в майне запрос.
я же вызываю метод removeAllNumbersMoreThan10 с параметром метода где находится коллекция.
0
Chocological Software Engineer
16 мая 2018, 20:21
Коллекция там создается, каждый раз новая. Присвойте ей ссылку и работайте с ней) И еще просить следующий элемент у итератора нужно в цикле:
вы только один раз переключаетесь на следующий элемент, там программа собственно говоря и зависает 0
Александр
16 мая 2018, 20:30
Незнаю как сделать ссылку.
перед while добавить for?
0
Chocological Software Engineer
16 мая 2018, 20:30решение
Это переместить в тело while
Это ссылка на обьект, присвойте ей то что возвращает ваш метод который создает коллекцию
+4
Александр
16 мая 2018, 20:32
...
0
Chocological Software Engineer
16 мая 2018, 20:32
да так)
0
Александр
16 мая 2018, 20:32
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
получилось :)
0
Александр
16 мая 2018, 20:33
Спасибо большое Сергей! Настоящий друг!
0
Chocological Software Engineer
16 мая 2018, 20:35
не за что)
0