Java, разверните ArrayList из HashMaps - PullRequest
2 голосов
/ 15 февраля 2011

У меня есть ArrayList<HashMap<String, String>>.Я хотел бы быстро извлечь из этого новый ArrayList<String>, содержащий все ключи.

Как мне это сделать?

1 Ответ

7 голосов
/ 15 февраля 2011

Я предлагаю вам сделать

List<String> allKeys = new ArrayList<String>();

for (Map<String, String> map : yourListOfMaps)
    allKeys.addAll(map.keySet());

Если вас не интересуют дубликаты ключей (т. Е. Если вы не хотите использовать две идентичные записи в allKeys только потому, что он существует как ключ на двух картах) Я бы посоветовал вам вместо этого указать allKeys типа HashSet<String>.

После обхода вы можете выполнить allKeysList = new ArrayList<String>(allKeys);, если порядок важен для вас в конце.

...