循环通过HashMap

时间:2018-05-04 13:57:06

标签: java android hashmap kotlin

我尝试使用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值吗?

1 个答案:

答案 0 :(得分:2)

areaMap.get(key);更改为areaMap.get(lKey);

我认为您应该使用条目集进行迭代,以便您可以更轻松地获得值

for (Map.Entry<String, List<X2Y2>> kv : areaMap.entrySet()) {
    System.out.println(kv.getValue());
}