Javaでこれほど速いものはありますか? (コーディングが速い)
int [] a = {1..99};
または私はこれに行かなければなりません:
int [] a=new int[100];
for (int i=0;i <100;++i){
a[i]=i;
}
Java 8 を使用する場合の別の方法:
int[] array = new int[100];
Arrays.setAll(array, i -> i + 1);
ラムダ式はセルのインデックスを受け取り、そのセルに入れる値を返します。この場合、セル 0 ~ 99 に値 1 ~ 100 が割り当てられます。
ループする必要があるサイズに応じて、小さい場合は次のことができます...
int[] intArray = new int[] {4,5,6,7,8};
すべてを入力する必要がないサイズを推測しているので、ループを作成してそのように設定するのが理にかなっています
次のような場合に、Guava ライブラリを使用できます。
public class Test {
public static void main(String[] args) {
//one liner
int[] array = toArray(newLinkedList(concat(range(1, 10), range(500, 1000))));
//more readable
Iterable<Integer> values = concat(range(1, 10), range(500, 1000));
List<Integer> list = newLinkedList(values);
int[] array = toArray(list);
}
public static List<Integer> range(int min, int max) {
List<Integer> list = newLinkedList();
for (int i = min; i <= max; i++) {
list.add(i);
}
return list;
}
}
更新: 完全な例はこの投稿から取得数値の範囲で配列を埋める
このような長い配列を初期化するには、ループを使用する必要があります。ご想像のとおり、Java にはショートカット メソッドはありません。