2

好的,所以我正在使用 JavaMail 库,并且我正在尝试获取某些消息编号。我想有效地做到这一点,而不必循环两次......无论如何我的问题是:如何创建一个从索引开始并在索引x结束x - 11而不循环的数组?

4

2 回答 2

7

如果要创建和填充数组,基本上有三个选项:

  1. 明确写出值:int[] nums = new int[] { 0, 1, 2, 3, 4, ... }

  2. 使用某种形式的 for 循环:for (int i = 0; i < 10; i++) { nums[i] = i; }

  3. 递归创建它:

int[] nums = 新的 int[12];
数字 = 填充(0,x,数字);

私有 int[] 填充(int 索引,int x,int[] nums){
    if (nums.length >= index) {
        返回数字;
    } 别的 {
        nums[索引] = x - 索引;// x-0 到 x-11
        返回填充(索引+1,x,nums);
    }
}

Vanilla Java,没有额外的库和诸如此类的东西,不支持 map 函数,它允许你指定一个函数,该函数会以某种方式自动生成你的值。

不过,我真的不明白你为什么不想使用循环,尤其是对于像这样微不足道的事情。

于 2012-08-15T05:58:20.427 回答
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};
于 2012-08-15T05:48:36.590 回答