こんにちは私はテキストファイルから読み取り、各行(コンマで分割)を配列に保存しています。唯一の問題は、配列内のほとんどの要素がdouble値であるのに対し、2つの要素は文字列であるということです。この結果、配列をString[]配列にする必要がありました。このため、配列内のdouble値に対していくつかの方程式を実行する場合は、最初にそれらをdouble値として解析する必要があります。私は文字通りこれらの方程式を1000回以上繰り返し実行しているため、コードは常に文字列をdoubleに解析しています。これは私のプログラムを遅くしている費用のかかる方法です。文字列配列の値をdouble値に変換するためのより良い方法はありますか、それともテキストファイルから行を保存するときに取るべきより良い方法はありますか?ありがとう
テキストファイルから読み取った後の配列の1つは次のようになります。
String[] details = {"24.9", "100.0", "19.2" , "82.0", "Harry", "Smith", "45.0"};
ここで、最初の2つの要素を乗算し、それを3番目、4番目、および7番目の要素の合計に追加する必要があります。言い換えれば、私は数値要素(もちろん文字列として保存されている)のみを使用しています
double score = (Double.parseDouble(details[0]) * Double.parseDouble(details[1])) + Double.parseDouble(details[2]) + Double.parseDouble(details[3]) + Double.parseDouble(details[6]);
テキストファイルの1行ごとにこれを行う必要があります(1000行以上)。この結果、私のプログラムの実行速度は非常に遅くなります。文字列値をdoubleに変換するためのより良い方法はありますか?それとも、そもそもそれらを保存するためのより良い方法はありますか?
編集:私はプロファイラーを使用してコードのどの部分が最も遅いかをチェックしました、そしてそれは確かに私が上に示したコードです