从嵌套的HashMap访问HashMap数据



这里有一个有趣的情况。我正在构建一个棋盘游戏,我有一个宣称是HashMap 的棋盘

HashMap<String, HashMap> board = new HashMap<String, HashMap>();

这个板上有多个层,这就是为什么这个HashMap必须采用其他HashMap的原因。

我们用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");

这可能吗?

非常感谢您提前提供的任何帮助。

这是因为没有指定takeTileObject 的类型

HashMap<String, HashMap> takeTileObject = new HashMap<String, HashMap>();

告诉系统该值是一个HashMap对象,您应该能够将其称为

takeTileObject.get("unique-coordinate").get("key1");

更改代码

HashMap(String, HashMap> board = new HashMap<String, HashMap>();

HashMap<String, HashMap> board = new HashMap<String, HashMap>();

最新更新