代码之家  ›  专栏  ›  技术社区  ›  Dennis Lipponen

循环HashMap[重复]

  •  -1
  • Dennis Lipponen  · 技术社区  · 6 年前

    我试图循环使用一个字符串作为键,类的一个对象作为值的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 回复  |  直到 6 年前
        1
  •  3
  •   scigs    6 年前

    改变 areaMap.get(key); areaMap.get(lKey);

    我确实认为应该使用条目集进行迭代,以便更容易获得值

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