給定一個像「蘋果」這樣的文本字符串,我想獲得一個數字。所以每次我用蘋果做這個,我都會得到相同的數字。這怎麼能在java中完成?如何將字符串映射到java中的數字?
謝謝。
編輯:好吧,我想我沒有解釋得很清楚。我的意思是一個現有的Java函數,像這樣實現一個映射。這樣的功能的一個例子是: A-> 1,B-> 2,C-> 3,...
apple -> 11616125
給定一個像「蘋果」這樣的文本字符串,我想獲得一個數字。所以每次我用蘋果做這個,我都會得到相同的數字。這怎麼能在java中完成?如何將字符串映射到java中的數字?
謝謝。
編輯:好吧,我想我沒有解釋得很清楚。我的意思是一個現有的Java函數,像這樣實現一個映射。這樣的功能的一個例子是: A-> 1,B-> 2,C-> 3,...
apple -> 11616125
答案是使用String的hashCode方法。
這是地圖是供。
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平臺上返回相同的數字,因爲使用的算法是指定的和確定的。
然後使用'Map' ... –
你的意思是'hashCode'? –
你還會喜歡薯條嗎?它會是12.75美元,謝謝你。 –