我尝试使用String作为键并将Class的Object作为值来循环遍历HashMap。我希望rek1有关键" A"和rek2键" B"。
这是我的代码:
private Map<String, List<X2Y2>> areaMap = new HashMap<String, List<X2Y2>>();
ArrayList<X2Y2> arrList = new ArrayList<X2Y2>();
X2Y2 rek1 = new X2Y2(1.0,1.0, 2.0, 2.0);
X2Y2 rek2 = new X2Y2(3.0,3.0, 4.0, 4.0);
arrList.add(rek1);
arrList.add(rek2);
areaMap.put("A", arrList);
for (Object key : areaMap.keySet()) {
String lKey = (String) key;
List<X2Y2> list = areaMap.get(key);
Log.i("Worku?", list.toString());
}
class X2Y2(var x1: Double, var y1: Double, var x2: Double, var y2: Double) {}
问题是我只能得到键值,而不是我的X2Y2列表。任何人都有任何提示可以帮助我获得我的X2Y2值吗?
答案 0 :(得分:2)
将areaMap.get(key);
更改为areaMap.get(lKey);
我认为您应该使用条目集进行迭代,以便您可以更轻松地获得值
for (Map.Entry<String, List<X2Y2>> kv : areaMap.entrySet()) {
System.out.println(kv.getValue());
}