「リンゴ」のようなテキスト文字列が与えられた場合、数値を取得したいと考えています。したがって、アップルでそれを行うたびに、同じ数が得られます。これはJavaでどのように行うことができますか?
ありがとうございました。
編集:まあ、私は自分自身をうまく説明していなかったと思います。このようなマップを実装する既存の Java 関数を意味します。このような関数の例: a->1, b->2, c->3,...
apple -> 11616125
これがマップの目的です。
Map<String, Integer> lookup = new HashMap<String, Integer>();
lookup.put("apple", 1);
lookup.get("apple"); // returns 1
Map<String, Ingereg> map = new HashMap<String, Ingereg>();
map.put("apple", 10);
map.get("apple");
文字列を特定の番号にマップする場合Map<String, Integer>
は、マッピングを作成して、文字列をマップする必要があるときに使用します。例えば:
Map<String, Integer> map = new HashMap<String, Integer>();
map.put("Apple", 0); // A nice round apple
map.put("Banana", 7); // A nice bent banana
...
System.out.println("The apple is " + map.get("apple"));
文字列を毎回同じ番号にマップするだけの場合...番号を指定せずに...hashcode()
文字列オブジェクトを呼び出します。使用されるアルゴリズムが指定されており、決定的であるため、任意の HotSpot Java プラットフォームで同じ数値が返されることが保証されています。
答えは、String の hashCode メソッドを使用することです。