我在这里有一个有趣的情况。我正在构建一个棋盘游戏,我有一个声明属于HashMap的棋盘
HashMap<String, HashMap> board = new HashMap<String, HashMap>();
此主板上有多个图层,这就是为什么这个HashMap必须使用其他HashMaps。
我们使用tile对象填充此板,如下所示。
HashMap tileObject = new HashMap();
tileObject.put("key1", value1);
tileObject.put("key2", value2);
tileObject.put("name", value3);
我们正在将这个(和其他瓷砖)添加到电路板上。
board.put((String)tileObject.get("name"), tileObject);
所以这一切都很好,我们已经在电路板上添加了瓷砖。现在我的问题是,从这个董事会阅读。在分析电路板时,我在函数中有这段代码
HashMap takeTileObject = new HashMap();
takeTileObject.put("unique-coordinate", board.get("unique-coordinate");
// we are getting the values from board at key "unique-coordinate"
我需要做的是从takeTileObject访问key1 / key2 / name。我试过这个
takeTileObject.get("unique-coordinate").(NOTHING HELPFUL HERE);
我理想情况下会发生这样的事情。
takeTileObject.get("unique-coordinate").get("key1");
这可能吗?
非常感谢您提前提供任何帮助。
答案 0 :(得分:3)
这是因为没有指定takeTileObject
HashMap<String, HashMap> takeTileObject = new HashMap<String, HashMap>();
告诉系统该值是HashMap对象,您应该可以调用它
takeTileObject.get("unique-coordinate").get("key1");
答案 1 :(得分:0)
更改代码
HashMap(String, HashMap> board = new HashMap<String, HashMap>();
到
HashMap<String, HashMap> board = new HashMap<String, HashMap>();