我是Java编程的新手,我正在尝试使用(2017 - 3017)的值创建一个数组。
我想知道是否有办法创建一个数组,并预先填充这些值,而不是这样做:
int[] anArray = {2017, 2018, 2019, 2020... 3017}
这看起来非常啰嗦,我可以简单地定义一系列我希望添加到数组中的整数。
我知道网站上存在类似的问题,但是没有一个问题可以帮助我。
谢谢!
编辑:我忘了提到我使用的是Java 7,因此无法使用IntStream。
答案 0 :(得分:4)
这个怎么样:
int[] anArray = IntStream.rangeClosed(2017, 3017).toArray(); //closed includes upper bound
Java 7只需要一个循环来填充数组:
int min = 2017, max = 3017;
int count = max - min + 1; //we're including upper bound
int[] anArray = new int[count];
for (int i = 0; i < count; i++, min++) {
anArray[i] = min; //reused and incremented min
}
答案 1 :(得分:0)
好的,它得到了解答。但只是在java中指出另一种方式..你可以计算将要来的整数的数量并使用迭代器来填充数组。让我知道你是否对此有任何疑问总之我说要像下面这样做:
int arr[] = new int[1001];
for(int i=2017;i<=3017;i++){
arr[i-2017]=i;
}