Java 8: как создать карту из двух списков строк - PullRequest
0 голосов
/ 06 ноября 2018

У меня есть два списка:

List<String> ids
List<String> names

Задача состоит в том, чтобы создать один Map<String,String> из этих двух списков, предпочтительно с использованием Java 8. К сожалению, я не нашел, как это сделать, когда у нас есть списки со строковым типом.

1 Ответ

0 голосов
/ 06 ноября 2018

Предполагая, что оба списка имеют одинаковый размер и идентификаторы уникальны, а идентификаторы являются ключами карты, а имена являются соответствующими значениями, вы можете использовать следующий код для создания карты:

Map<String,String> idsNames = IntStream.range(0,ids.size())
        .mapToObj(i -> new AbstractMap.SimpleEntry<>(ids.get(i),names.get(i)))
        .collect(Collectors.toMap(AbstractMap.SimpleEntry::getKey,
                AbstractMap.SimpleEntry::getValue));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...