Подтвердить что ты не робот

Есть ли какой-либо метод в Java для инициализации набора по шагу 1 или другой длины?

Например, мне нравится инициализировать набор, подобный [1,2,3,..., 100].

Обычно мы делаем следующее:

for(int i = 1;i <= 100;i++ ){
    set.add(i);
}

Есть ли способ сделать это более удобно?

Например, someMethod(startIndex, endIndex, step);

Используя это, мы можем легко инициализировать набор, подобный [1,2,3,4,5] или [1,3,5,7,9] или другим.

4b9b3361

Ответ 1

Вы можете использовать потоки Java 8.

Например:

Set<Integer> mySet = IntStream.range(1,101).boxed().collect(Collectors.toSet());

или только для нечетных чисел:

Set<Integer> mySet = IntStream.range(1,101).filter(i->i%2==1).boxed().collect(Collectors.toSet());
  • IntStream.range - это простой способ получить числа в заданном диапазоне.
  • Затем вы можете применять фильтры, если хотите только некоторые из чисел.
  • Наконец, вы можете собрать их в любую коллекцию, которую хотите.