标签: java
如何重新分配java数组索引计数器?假设我有3个长度数组。如果我们从数组中获取第4个元素,编译器将使Index超出Bounds异常。我们可以避免这个异常,以便第4个元素应该给第一个元素。索引3应该给第0个元素,索引4应该给第1个元素。等
答案 0 :(得分:2)
您可能想要使用模数运算符%:
%
Object element = array[index % array.length];
答案 1 :(得分:2)
当然,使用模运算:
int safeIndex = index % array.length;
如果这个级别太低,那么有不同的库提供基于流的解决方案:
以下是使用Guava的FluentIterable:
FluentIterable
FluentIterable.from(Iterables.cycle(Arrays.asList(array))).get(index)
这里有一个使用JavaSlang个流:
Stream.of(array).cycle().drop(index).get();
Java 8流不提供此功能。