私は、ユーザーのテキスト入力に基づいてデータの分析を実行する Web アプリケーションである小さなプロジェクトを開発しています。
そのためには、単語とその単語に対応するスコアを含む Map を使用する必要があります。
これは私が試したものです:
public class EnDict {
private static Map<String, Integer> map = new HashMap<String, Integer>() {
{
put("abandon", -2);
put("ability", 2);
put("abuse", -3);
//and so on, thousands of pairs
}
}
}
それは機能しますが、この方法では、キーと値のペアをクラスにハードコーディングする必要があります。したがって、さらにペアを追加したい場合は、ペアを追加するだけでテキスト ファイルを作成するのではなく、コードを記述する必要があります。良くないようです。
したがって、このペアをテキスト ファイルから取得したいと考えています。また、アプリケーションの起動時にこのマップを作成する必要があるため、ユーザーが要求を行うと、マップは既に読み込まれており、分析ロジックで使用できます。つまり、Map は最初のリクエストが発生する前にメモリ内に存在し、その後、後続のリクエストで使用するために最後にメモリ内に存在する必要があります。そして、アプリケーションのどこからでも見えるようにする必要があります (この部分はあまり明確ではなかったかもしれませんが、もっとうまく説明する方法がわかりません)。
私はいくつかの調査を試みましたが、アプリケーションの開始以来、マップをメモリに保持するというこの特定の部分に対する答えは見つかりませんでした。クラスApplication_Start
の ASP.NET メソッドに似たものです。Global
私はプログラミング、特にJavaに非常に慣れていないため、このタスクを達成するための最良の方法について完全に誤解されている可能性があります。その場合は、ヒントをいただければ幸いです。
サーブレット、JSP、および Tomcat を使用しています。
編集: 実際には、1 つのマップだけではありません。いくつかのマップがあり、それらのマップは同一のキーを持つことができます。