给定一个像“苹果”这样的文本字符串,我想获得一个数字。所以每次我用苹果做这个,我都会得到相同的数字。这怎么能在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美元,谢谢你。 –