Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中如何将字符串映射到数字?_Java_String_Mapping_Numbers - Fatal编程技术网

在java中如何将字符串映射到数字?

在java中如何将字符串映射到数字?,java,string,mapping,numbers,Java,String,Mapping,Numbers,给定一个像“apple”这样的文本字符串,我想获得一个数字。所以每次我用苹果做这些,我得到的数字都是一样的。如何在java中实现这一点 多谢各位 编辑:嗯,我想我没有很好地解释我自己。我指的是一个现有的Java函数,它实现了这样一个映射。类似的函数示例如下: a->1,b->2,c->3 apple -> 11616125 这就是地图的用途 Map<String, Integer> lookup = new HashMap<String, Integer>();

给定一个像“apple”这样的文本字符串,我想获得一个数字。所以每次我用苹果做这些,我得到的数字都是一样的。如何在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 lookup=newhashmap();
lookup.put(“苹果”,1);
lookup.get(“苹果”);//返回1
Map Map=newhashmap();
地图.put("苹果",10);;
map.get(“苹果”);

如果希望字符串映射到特定的数字,则创建一个
映射
用映射填充它,然后在需要映射字符串时使用它。例如:

    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"));
Map Map=newhashmap();
map.put(“苹果”,0);//一个漂亮的圆苹果
放在地图上(“香蕉”,7);//一根弯曲的香蕉
...
System.out.println(“苹果是”+map.get(“苹果”);

如果您只想每次将一个字符串映射到同一个数字。。。没有指定数字。。。然后对字符串对象调用
hashcode()
。这在任何给定的HotSpot Java平台上都保证返回相同的数字,因为所使用的算法是指定的和确定的。

答案将是使用字符串的hashCode方法。

您还想要薯条吗?机械蜗牛:是的,像这样的东西如果
apple->1161225
,那么你不也要
aafabe->1161225
?看起来是个糟糕的策略…@beerbajay:你说得对,这不是内射映射,尽管Aafafab不在有意义的词集中。。。无论如何,这只是一个例子,用来解释我想要的是函数式方法,而不是数据结构……hashCode有什么问题吗?
    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"));