2

さて、私はJavaMailライブラリを使用していて、特定のメッセージ番号を取得しようとしています。私はそれを効率的に行い、何かを2回ループする必要がないようにしたい…とにかくあなたへの私の質問は、ループせずにインデックスで始まりインデックスxで終わる配列を作成するにはどうすればよいx - 11ですか?

4

2 に答える 2

7

アレイを作成してデータを設定する場合、基本的に3つのオプションがあります。

  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 = new int [12];
nums = Populate(0、x、nums);

private int [] Populate(int index、int x、int [] nums){
    if(nums.length> = index){
        numsを返します。
    } そうしないと {
        nums [index]=x-インデックス; //x-0からx-11
        戻り値populate(index + 1、x、nums);
    }
}

Vanilla Javaは、追加のライブラリなどがないため、値を自動生成する関数を指定できるマップ関数をサポートしていません。

ただし、特にこのような些細なことで、ループを使用したくない理由はよくわかりません。

于 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 に答える