Java中是否有任何方法可以通过步骤1或其他长度初始化一个集合?

时间:2015-07-08 07:07:01

标签: java

例如,我喜欢初始化一个类似[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]或其他的集合。

1 个答案:

答案 0 :(得分:19)

您可以使用Java 8 Streams。

例如:

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是一种获取给定范围内数字的简便方法。
  • 然后,如果您只想要一些数字,则可以应用过滤器。
  • 最后,您可以将它们收集到您想要的任何收藏中。