を使用せずにJavaで実行時にメソッドを作成し、マップ内のオブジェクトの私は以下のようなオブジェクトのマップを持って反射
<key1, ClassAobj>
<key2, ClassBobj>
<key3, ClassCobj>
<key4, ClassDobj>
数は不明です。これらのオブジェクトのメソッドを繰り返し呼び出しています。
for key in keyset {
stringbuilder.append(map.get(key).getData())
}
ですが、この繰り返しとstringbuilder.appendは大規模で、パフォーマンスに問題が発生します。つまり、時間がかかります。私は、のようなstribuilderを作成するランタイムメソッドを作成することを考えていた
getdata() {
return (stringbuilder(map.get(key1).getdata() + map.get(key2).getdata() + map.get(key3).getdata() + ... + till all entries in map))
}
それは正しいアプローチですか?例があれば、より良いアプローチがあればお勧めします。
私はJavaのリフレクションを試みましたが、それは現在のイテレータのバージョンよりずっと遅く、回避されました。
P.S.疑似コードとしてこれを考慮して構文を無視してください。
実行時にメソッド全体を作成すると、sringbuilderより高速になると思いますか? – zack6849
私は文字列ビルダーのパフォーマンスは、基本的な成長する文字配列だと思います。文字列ビルダーコンストラクターでは、予想される長さを指定する必要があります。 – Mordechai
@MouseEventもう少し説明していただければ幸いです。 –