使用连续的整数范围填充列表

2022-08-31 20:23:07

我希望有一个包含1到500范围内整数的列表。有没有办法使用Guava(或者只是普通的Java)创建这个列表,而不必遍历范围并在我自己的代码中单独添加值?


答案 1

新的 Java 8 方式:

List<Integer> range = IntStream.range(1, 501).boxed().collect(Collectors.toList());

答案 2

使用番石榴,你可以诉诸于: https://guava.dev/releases/19.0/api/docs/com/google/common/collect/Range.htmlRange

当然,您的代码中仍然会有循环,但为了简单起见,它们可能只是在代码中隐藏。

例如:

Range<Integer> yourValues = Range.closed(1, 500);

有关更多示例,请查看 https://github.com/google/guava/wiki/RangesExplained

请记住,如果确实需要最终迭代 ,则不能直接执行此操作,只能通过使用 。RangeDiscreteDomains.integers()


推荐