【问题标题】:Map<String, Map<Object, Object>> how to get the value pair dynamically in javaMap<String, Map<Object, Object>>如何在java中动态获取值对
【发布时间】:2020-07-14 05:48:37
【问题描述】:

地图数据结构:Map&lt;String, Map&lt;Object, Object&gt;&gt;

样本数据:

  Key: Data, Value: {AIA=Yes, AppNumber=15671037, AppType=Utility, RegNumber=P01-010785, Class=714/006.210}

从上面,我需要动态获取这些 Keys(AIA, AppNumber, AppTYpe, RegNumber)。 对于 Map 我可以得到它,但我不知道在这个内部 MAP 中

【问题讨论】:

    标签: java hashmap


    【解决方案1】:

    首先需要得到Data对应的Map,然后取keySet()

    Map<String, Map<Object, Object>> map = new HashMap<>();  // {Data:{AIA=Yes, AppNumber=15671037, AppType=Utility, RegNumber=P01-010785, Class=714/006.210}}
    Map<Object, Object> innerMap = map.get("Data");  // {AIA=Yes, AppNumber=15671037, AppType=Utility, RegNumber=P01-010785, Class=714/006.210}
    Set<Object> keysInnerMap = innerMap.keySet();   // {AIA, AppNumber, AppTYpe, RegNumber}
    

    【讨论】:

    【解决方案2】:

    迭代 Outer Map 的所有值,然后将 Inner map 的键添加到列表中。

    List<Object> keyList = new ArrayList<String>();
    for (Map<Object, Object> innerMap : map.values()) {
        keyList.addAll(innerMap.keySet());
    }
    

    【讨论】:

      猜你喜欢
      • 2013-06-16
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多