PHP的范围函数在php中的工作方式如下:
$leap_years = range(1900, 2000, 4);
创建数组,就像1900, 1904, 1908, ...
Java中有这样简单的东西吗?
并没有内置任何东西,但是将这样的范围实现为不可变的Iterable<Long>
(Integer
或其他)是相对简单的。只需创建一个Iterator
从起始值开始的自定义,然后为每次调用递增,next()
直到传递结束值。您必须决定如何以及是否要处理从高到低的迭代等,但这并不难。您也可以将其作为无法修改的实现方式来实现,List
其中每个索引的值均按需计算(start + index * increment
)。
尽管您的问题是基于范围的“数组”的创建,但是通常不需要整个范围的数据的数组,特别是如果您只想遍历范围中的数字时。如果仅此而已,您将最终两次遍历范围内的数字以创建一个数组List
,然后读取它。正如我所描述的,使用惰性范围迭代器没有这个缺点。此外,List
如果您确实希望将所有值直接存储在内存中,则可以轻松地将惰性迭代器复制到a 中。与构建阵列相比,它的唯一缺点是自动装箱开销。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句