私はJavaでステミングアルゴリズムを持っています。これは、スタティックコードHashMap<String, String>
には、約30,000レコードがあらかじめ埋め込まれています。Java:静的に順序付けされた最終的なマップを初期化して塗りつぶす方法は?
レコードは、挿入された同じ順序でレコードを保持する必要があります(私はLinkedHashMap
を使用できるヒントを得ましたか?)。
私は、これはRAMでそれらをロードする最も簡単な方法ですので、私は手動で
map.put("Key", "Value");
のような30回の000コールを使用することにより、(時間/生産性は、このプロジェクトのために非常に重要である)は、Javaのクラスファイルに値を挿入することができると思いました
問題は、java(または少なくともeclipse)はどのセグメント/メソッドなどでも65kbのコードしか許されないため、11個のクラスを拡張し、.put
の65kbをコンストラクタまたはstatic { }
に入れてしまいました。
すべては問題ありませんでしたが、私がそれを実行すると、注文はスクランブルされます。非常に多くの行については、どこが間違っていたのか、拡張された順序で、または地図内で追跡されません。
したがって、パフォーマンスに関して、Javaで最終的なマップを埋める最良の方法は何か教えてください。
P.S:読み込みとファイルからレコードを解析するにはあまりにも遅いです...
はい、私は質問でそれについて話しましたが、それでもスクランブルされています。 –
@トニー...「おそらく」は「a」よりも見た目が必要なので(これは「質問で話されました」 - すでにそうしています: - /)また、 * HashMapが作成されています...これは同じ1回限りの先行コストです。 –
@pst trueですが、35000行の静的初期設定のクラスファイルを持っているのは私にとっては地獄のように聞こえるので、私は自分自身のために行きます! –