好的,我正在使用JavaMail库,我正在尝试获取某些消息号。我想有效地做到这一点而不必在某些东西上循环两次......无论如何,我的问题是:如何创建一个从索引x
开始并在索引x - 11
结束而不循环的数组? / p>
答案 0 :(得分:7)
如果要创建和填充数组,基本上有三个选项:
明确写出值:int[] nums = new int[] { 0, 1, 2, 3, 4, ... }
使用某种形式的for-loop:for (int i = 0; i < 10; i++) { nums[i] = i; }
递归创建:
int[] nums = new int[12]; nums = populate(0, x, nums); private int[] populate(int index, int x, int[] nums) { if (nums.length >= index) { return nums; } else { nums[index] = x - index; // x-0 through x-11 return populate(index+1, x, nums); } }
Vanilla Java,没有额外的库和诸如此类的东西,不支持map函数,它允许你指定一个以某种方式自动生成你的值的函数。
虽然,我真的不明白为什么你不想使用循环,特别是对于像这样的小事。
答案 1 :(得分:2)
int[] myArray = new int[] {x, x-1, x-2, x-3, x-4, x-5, x-6, x-7, x-8, x-9, x-10, x-11};