gpt4 book ai didi

java - 在Java中获取一系列整数的迭代器的最短方法

转载 作者:IT老高 更新时间:2023-10-28 20:42:29 25 4
gpt4 key购买 nike

在 Java 中获取一系列整数的迭代器的最短方法是什么?换句话说,实现以下内容:

/** 
* Returns an Iterator over the integers from first to first+count.
*/
Iterator<Integer> iterator(Integer first, Integer count);

类似

(first..first+count).iterator()

最佳答案

此实现没有内存占用。

/**
* @param begin inclusive
* @param end exclusive
* @return list of integers from begin to end
*/
public static List<Integer> range(final int begin, final int end) {
return new AbstractList<Integer>() {
@Override
public Integer get(int index) {
return begin + index;
}

@Override
public int size() {
return end - begin;
}
};
}

编辑:

在 Java 8 及更高版本中,您可以简单地说:

IntStream.range(begin, end).iterator()          // returns PrimitiveIterator.OfInt

或者如果您需要盒装版本:

IntStream.range(begin, end).boxed().iterator()  // returns Iterator<Integer>

关于java - 在Java中获取一系列整数的迭代器的最短方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/371026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com