Java中PHP的范围函数

百夫长:

PHP的范围函数在php中的工作方式如下:

$leap_years = range(1900, 2000, 4);

创建数组,就像1900, 1904, 1908, ...Java中有这样简单的东西吗?

ColinD:

并没有内置任何东西,但是将这样的范围实现为不可变的Iterable<Long>Integer或其他)是相对简单的只需创建一个Iterator从起始值开始的自定义,然后为每次调用递增,next()直到传递结束值。您必须决定如何以及是否要处理从高到低的迭代等,但这并不难。您也可以将其作为无法修改的实现方式来实现,List其中每个索引的值均按需计算(start + index * increment)。

尽管您的问题是基于范围的“数组”的创建,但是通常不需要整个范围的数据的数组,特别是如果您只想遍历范围中的数字时。如果仅此而已,您将最终两次遍历范围内的数字以创建一个数组List,然后读取它。正如我所描述的,使用惰性范围迭代器没有这个缺点。此外,List如果您确实希望将所有值直接存储在内存中,则可以轻松地将惰性迭代器复制到a 中。与构建阵列相比,它的唯一缺点是自动装箱开销。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章