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