-5

给定一个像“apple”这样的文本字符串,我想获得一个数字。所以每次我用苹果这样做时,我都会得到相同的数字。这怎么能在java中完成?

谢谢你。

编辑:好吧,我想我没有很好地解释自己。我的意思是一个现有的 Java 函数,它实现了这样的映射。像这样的函数的一个例子是:a->1, b->2, c->3,...

apple -> 11616125
4

4 回答 4

3

这就是地图的用途。

Map<String, Integer> lookup = new HashMap<String, Integer>();
lookup.put("apple", 1);
lookup.get("apple"); // returns 1
于 2012-06-05T10:09:12.247 回答
2
Map<String, Ingereg> map = new HashMap<String, Ingereg>();
map.put("apple", 10);
map.get("apple");
于 2012-06-05T10:09:20.220 回答
2

如果您希望字符串映射到特定数字,则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 平台上返回相同的数字,因为使用的算法是指定和确定的。

于 2012-06-05T10:10:43.373 回答
0

答案是使用 String 的 hashCode 方法。

于 2012-06-05T10:57:49.170 回答