给定像“apple”这样的文本字符串,我想获得一个数字。因此,每当我使用苹果时,我都会获得相同的数字。如何在java中完成?
谢谢。
编辑:好吧,我想我没有很好地解释自己。我的意思是现有的Java函数实现这样的映射。像这样的函数的一个例子是: a-> 1,b-> 2,c-> 3,......
apple -> 11616125
答案 0 :(得分:3)
这就是地图的用途。
Map<String, Integer> lookup = new HashMap<String, Integer>();
lookup.put("apple", 1);
lookup.get("apple"); // returns 1
答案 1 :(得分:2)
Map<String, Ingereg> map = new HashMap<String, Ingereg>();
map.put("apple", 10);
map.get("apple");
答案 2 :(得分:1)
如果您希望字符串映射到特定数字,则创建一个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平台上返回相同的数字,因为所使用的算法是指定的并且是确定的。
答案 3 :(得分:0)
答案是使用String的hashCode方法。