карта > как получить пару значений динамически в java - PullRequest
1 голос
/ 02 апреля 2020

Структура данных карты: Map<String, Map<Object, Object>>

Образцы данных:

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

Исходя из вышесказанного, мне нужно взять эти ключи (AIA, AppNumber, AppTYpe, RegNumber) динамически. для карты я могу получить его, но я не знаю в этой внутренней карте

Ответы [ 2 ]

1 голос
/ 02 апреля 2020

Сначала нужно получить Map, соответствующий ключу Data, затем взять 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}
0 голосов
/ 02 апреля 2020

Переберите все значения внешней карты, затем добавьте ключи внутренней карты в список.

List<Object> keyList = new ArrayList<String>();
for (Map<Object, Object> innerMap : map.values()) {
    keyList.addAll(innerMap.keySet());
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...