代码之家  ›  专栏  ›  技术社区  ›  Ladu anand

获取HashMap中ArrayList的大小

  •  -3
  • Ladu anand  · 技术社区  · 7 年前

    我在hashmap中有一个arraylist。使用最小的代码行,我需要得到arraylist的大小。

     Map<String, ArrayList<Map<String,String>>> map = new HashMap<String, ArrayList<Map<String,String>>>();
                 map.put("data",childList);
    

    如何使用一行代码从变量“map”中获取“childlist”的大小。

    3 回复  |  直到 7 年前
        1
  •  0
  •   Yan Khonski    7 年前

    按键获取地图值。然后检查它是否为空。如果映射不是泛型的,这就是您的情况,那么值就是list的一个实例。所以你可以直接得到它的尺寸。

     Map<String, ArrayList<Map<String,String>>> map = new HashMap<String, ArrayList<Map<String,String>>>();
     map.put("data",childList);
    
     List<Map<String,String>> data = map.get("data");
     int size = 0;
     if (data != null) {
         size = data.size();
     }
    
        2
  •  0
  •   Derek Ball    6 年前

    奇怪的是,当我试图重新创建你的例子,这似乎工作得很好。

    map.get("data").size();
    

    也就是说,我最近遇到了这个问题,我的解决方案最终涉及到像

    ((ArrayList<Map<String,String>>) map.get("data")).size();
    

    这可以归结为用括号括住map调用和它的casting调用,然后通常从那里处理列表。

        3
  •  -1
  •   Florian Ritter    7 年前
            ArrayList<Map<String, String>> childList = new ArrayList<Map<String, String>>();
            Map<String, ArrayList<Map<String,String>>> map = new HashMap<String, ArrayList<Map<String,String>>>();
            map.put("data", childList);
            int size = map.get("data").size();
    
        4
  •  -3
  •   Mas dem    7 年前

    试用 map.length(); map.size(); here 更多信息