我真的习惯使用Ruby中的以下代码:
my_hash = {}
my_hash['test'] = 1
Java中相应的数据结构是什么?
答案 0 :(得分:5)
HashMap<String, Integer> map = new HashMap<>();
map.put("test", 1);
我假设?
答案 1 :(得分:3)
在Java中,有很多类实现了Map<K,V>
接口,这就是Ruby“哈希”(数据结构通常也称为“字典”,或者它的全名,a “哈希表”)。所以在Java中,您可以声明接口的实例并为其指定一个具体的类,或者您可以直接声明具体的实例:
Map<String, String> definitions = new HashMap<String, String>();
definitions.put("dog", "a four-legged mammal that is Man's best friend");
definition = definitions.get("dog");
TreeMap<Integer, String> players = new TreeMap<Integer, String>();
players.put(10, "John Doe");
player = players.get(10);
这有点类似于Ruby中的“duck-typing”,如果一个对象响应方法调用X()
,那么Ruby实际上并不关心它调用的对象是什么类型的对象X()
上。
以下是实现Map<K,V>
接口的一些类的列表: