用Python翻译Java中的地图?

时间:2014-04-09 19:23:36

标签: java python map

我不确定“遍历”是否是正确的词,但在Python中,我可以这样做:

restaurantDict['menus'][menuIdx]['sections'][sectionIdx]['option_groups'][sectionOptionGroupIdx]['options'] = sectionOptionObjects

是否可以用这种风格“遍历”Java中的Map?或者Python就像那样疯狂而疯狂?

1 个答案:

答案 0 :(得分:3)

是的,它可以用Java。您只需要为除最后一个键之外的所有键链接.get调用,然后调用.put:

// Equivalent Python code: foo["a"]["b"]["c"] = "bar";
HashMap<String, HashMap<String, HashMap<String, String>>> foo = new HashMap<String, HashMap<String, HashMap<String, String>>>();
foo.get("a").get("b").put("c", "bar");

这在Java中是一件相当不愉快的事情,因为这不是非常惯用的Java代码。

虽然Python鼓励动态定义对象及其关系,但优秀的Java代码通过定义适当的类来预先列出您正在处理的对象类型。堆叠dicts在Python中可能没问题,但它会造成可怕的Java。