Java阵列索引计数器递归



如何重新调用Java数组索引计数器?假设我有3个长度。如果我们从数组中获取第四个元素,则编译器将出于界限异常提供索引。我们可以避免此例外,以便第四元素应给出第一元素。索引3应给出0元素,索引4应给出第一元素。等

当然,使用模量操作:

int safeIndex = index % array.length;

如果太低级别,则有不同的库提供基于流的解决方案:

这是使用Guava的FluentIterable的版本:

FluentIterable.from(Iterables.cycle(Arrays.asList(array))).get(index)

这是使用javaslang流的一种:

Stream.of(array).cycle().drop(index).get();
据我所知,

Java 8流不提供此功能。

您可能想使用 modulo 运算符%

Object element = array[index % array.length];

最新更新