如何用java创建一个类似于python的字典?

如何用java创建一个类似于python的字典?,java,python,Java,Python,我正在用java开发一个基于文本的游戏,我想用一个类似python的字典来绘制地图,HashMap并不适合我,因为我想把多个值链接到一个字典上,例如 在python中,您可以定义如下字典: room_x = { "name": "X", "description":"Random description", "exits": {linked to another dictionary}, "items": list_of_players_items} 类似的东西在Java中可能吗 提前感

我正在用java开发一个基于文本的游戏,我想用一个类似python的字典来绘制地图,HashMap并不适合我,因为我想把多个值链接到一个字典上,例如

在python中,您可以定义如下字典:

room_x = { "name": "X",

"description":"Random description",

"exits": {linked to another dictionary},

"items": list_of_players_items}
类似的东西在Java中可能吗


提前感谢。

HashMap可以完成以下工作:

HashMap<String, String> hashMap = new HashMap<>();  //<key,value>  both key and value are Strings
hashMap.put("name", "X");
hashMap.put("description", "Random description");
HashMap HashMap=newhashmap();//键和值都是字符串
hashMap.put(“名称”、“X”);
hashMap.put(“描述”、“随机描述”);
链接多个值。您需要将键值对类型更改为

HashMap<String,HashMap<String, String>> linkedMap = new HashMap<>();  // key is string and value is HashMap<String, String>
HashMap<String,String> itemsMap = new HashMap<>();
itemsMap.put("item1", "this is first item");
itemsMap.put("item2", "this is second item");
linkedMap.put("items", itemsMap);
HashMap linkedMap=newhashmap();//键是string,值是HashMap
HashMap itemsMap=新HashMap();
项目映射放置(“项目1”,“这是第一项”);
项目映射放置(“项目2”,“这是第二项”);
链接地图放置(“项目”,项目地图);
上面的代码只是我写的一个简单示例,您需要声明数据的真实类型,它不必是
String


希望有帮助。

HashMap
Hashtable
就足够了。两者都有键值对,其中键是字符串,值可以是任何对象。因此,您可以将其定义为
HashMap map=newhashmap()

该值可以是任何值(对于HashMap而不是Hashtable,甚至为null)

因此,您可以使用另一个
HashMap
作为值,它解决的“出口”:{链接到另一个字典}

和一个
列表
作为值,它解决了项目:玩家列表项目

给出HashMap和Hashtable之间的区别

示例代码:

List players = // some List
HashMap exits = // some Map
HashMap<String, Object> room_x = new HashMap<String, Object>();
map.put("name",name_string);
map.put("desc",desc_string);
mp.put("exits",exits);
map.put("items",players);
List players=//一些列表
HashMap exits=//一些映射
HashMap room_x=新HashMap();
map.put(“name”,name\u字符串);
map.put(“desc”,desc_字符串);
下院议员(下称“出口”);
地图。放置(“物品”,玩家);

你为什么不创建一个带有字段的类,就像一个使用面向对象语言的优秀的面向对象程序员一样?在提出新问题之前,请尝试一些谷歌搜索,尤其是对于常见任务。@TigerhawkT3仅供参考我不是特别要求HashMap解决方案,但是询问如何在java中从python复制dictionary函数(希望找到比HashMap更好的解决方案)。HashMap解决方案被证明是实现这一点的最佳方法,这一事实并不意味着它与您标记的问题相同。这个问题与链接的问题不同——它只包含重复的信息。如果在你的研究过程中,你看到了这一页,它就会完全解决这个问题。这就是复制品的含义。:)@TigerhawkT3根据你所说的,这里没有人应该问问题,他们总能找到与他们具体问题相关的答案:)