在java中如何将字符串映射到数字?
给定一个像“apple”这样的文本字符串,我想获得一个数字。所以每次我用苹果做这些,我得到的数字都是一样的。如何在java中实现这一点 多谢各位 编辑:嗯,我想我没有很好地解释我自己。我指的是一个现有的Java函数,它实现了这样一个映射。类似的函数示例如下: a->1,b->2,c->3在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 -> 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"));