我不确定“遍历”是否是正确的词,但在Python中,我可以这样做:
restaurantDict['menus'][menuIdx]['sections'][sectionIdx]['option_groups'][sectionOptionGroupIdx]['options'] = sectionOptionObjects
是否可以用这种风格“遍历”Java中的Map?或者Python就像那样疯狂而疯狂?
答案 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。