java - 在 Java 中创建复杂的 HashMap

标签 java data-structures

创建这样的 HashMap 的最简单方法是什么:

( student1 => Map( name => Tim,         
                   Scores => Map( math => 10,
                                  physics => 20,
                                  Computers => 30),
                   place => Miami,
                   ranking => Array(2,8,1,13),
                ), 
student2 => Map ( 
                  ...............
                  ...............
                ),
............................
............................
);

我试过这个:

HashMap record = new HashMap();
record.put("student1", new HashMap());
record.get("student1").put("name","Tim");
record.get("student1").put("Scores", new HashMap());

但是我得到了错误。我这样做是因为 record.get("student1") 是一个 HashMap 对象,所以我假设 put 应该可以工作,等等。

如果它不起作用,最好的方法是什么?

最佳答案

您得到该异常是因为 get() 返回类型 Object。您需要将其转换为 Map

((Map)record.get("student1")).put("name","Tim");

关于java - 在 Java 中创建复杂的 HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11008083/

相关文章:

php - PHP 中 "associate"和 "indexed"数组之间的实际区别是什么?

c - 查找从给定的起始节点到结束节点的所有可能路径

java - 如何在 Java 中初始化和递增字节数组?

java - 如何解决使用opencsv将csv转换为bean时的运行时异常空白csv文件

java - 在 xaml 文件中创建°

java - SpringAMQP - 如何捕获 ListenerExecutionFailedException?

java - 降低大型 switch 语句的复杂性

.net - 使用字典时 .NET 4 并发性能差

java - 如何在Java中使用hashmap和arraylist

java - log4j 属性更改未反射(reflect)在 Eclipse 中