2012-05-10 11 views
0

サーバーからのデータに基づいてHTMLを生成するため、現在のWebページのパフォーマンスが非常に悪いことがわかりました。現在、タイプ
MAP<Integer, Map<String, Object>>のMAPを<C:FOREACH>で繰り返し、HTMLコンテンツを生成しています。java/JSPでのマップの反復

私の質問は、JavaクラスまたはJSPでMapを反復処理するより良い方法です。マップを反復するために使用できるアノテーションベースのタグはありますか?マップを反復処理する

おかげ

+3

マップを反復処理するとパフォーマンスの問題が発生するのではないかと疑います。反復は高速です。この問題はおそらく他の場所にあります。 (多くの文字列連結がありますか?) –

+0

あなたのページにデータの書式設定をしていますか? – mprabhat

答えて

2

最速かつ最良の方法は次のとおりです。

Map<Integer, Map<String, Object>> map; 

for (Map.Entry<Integer, Map<String, Object>> entry : map.entrySet()) { 
    Integer key = entry.getKey(); 
    Map<String, Object> value = entry.getValue(); 
    ... 
} 
0

マップを反復すると、パフォーマンスのボトルネックの原因だった場合、私はまた、非常に驚​​くだろう。開発者(私も含まれます)は、コードを検査するだけでボトルネックがどこにあるのかを判断する上で非常に悪いことでよく知られています。

プロファイラを入手してください(私はYourKitをオープンソースのコミッタに無料で提供しています - 他のプロファイラも利用可能です)、実際にどこの時間が費やされているかを見てください。