Java 从 TreeMap 检索值<String, TreeMap<String, Integer>>

Java retrieve value from TreeMap<String, TreeMap<String, Integer>>

我对 Google 地图还很陌生,而且我很困惑。我有以下 TreeMap:

TreeMap<String, Map<String, Integer>> routes = new TreeMap<String, Map<String, Integer>>();    

比方说,我的TreeMap是这样填充的:

{A={B=10, C=15, D=20}, B={C=35, D=25}, D={C=30}}

现在我试图从我的 TreeMap 中打印出整数值并将其分配给一个 int x = routes.get(0).get(0) 但我收到以下错误:

Exception in thread "main" java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Integer

经过一番阅读,我了解到我正在尝试将一个 String 对象转换为一个不正确的 Integer 对象,这就是 Java 抛出错误的原因,这意味着我的 x 是被分配给 B 而不是 10

所以我的问题是如何将 x 赋值为 10?

.get() 正在尝试使用您声明的地图的密钥。既然你想在 Map[A][B] 中找到值,那么你应该这样引用它:

int x = routes.get("A").get("B");