ループ処理の最適化
非効率的なループ
int a = 1;
int b = 2;
int[] c = {0, 0, 0};
String[] array = new String[10000] ;
for (int i = 0 ; i < array.length ; i++) {
c[0] += a + b;
array[i] = (new Integer(c[0])).toString();
}
無駄な処理を外出しにする 繰り返し内でaとbは不変なので、計算するコストを省けます。 配列を外出しにする 配列の要素への参照は、配列境界のチェックのためのオーバーヘッドが発生します。c[0]のような、固定された要素への参照が繰り返し現れる場合は、外出しにすることで、このオーバーヘッドを省けます メンバー呼び出しをなくす 繰り返し終了条件で、オブジェクトのメソッドやフィールドを使うと、毎回ヒープ領域への参照が発生します。int型のローカル変数にコピーすることで、オブジェクトの参照と、そのメンバーの呼び出しのコストを省けます。 オブジェクト生成をなくす 繰り返しごとにオブジェクトを生成する負荷は馬鹿になりません。可能であれば、外出しにすべきです。
修正したループ
int a = 1;
int b = 2;
int[] c = {0, 0, 0};
String[] array = new String[10000] ;
int s = 3;
int c0 = c[0];
int len = array.length ;
for (int i = 0 ; i < len ; i++) {
c0 = c0 + s;
array[i] = Integer.toString(c0);
}
c[0] = c0;