Reputation: 3728
Map data structure : Map<String, Map<Object, Object>>
Sample data:
Key: Data, Value: {AIA=Yes, AppNumber=15671037, AppType=Utility, RegNumber=P01-010785, Class=714/006.210}
From the above, I need to take these Keys(AIA, AppNumber, AppTYpe, RegNumber)
dynamically.
for Map I can able to get it, but I don't know in this inner MAP
Upvotes: 1
Views: 3247
Reputation: 18430
Iterate all the values of the Outer Map then add the keys of Inner map in a list.
List<Object> keyList = new ArrayList<String>();
for (Map<Object, Object> innerMap : map.values()) {
keyList.addAll(innerMap.keySet());
}
Upvotes: 0
Reputation: 54148
First you need to get the Map
corresponding to key Data
, then take the 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}
Upvotes: 2