2015-08-24 3 views
3

Использование Java 8 Stream API Как я могу установить Map в список Pair, где левое значение пары - это ключ карты?Map <String, List <String>> to Pair <String, String>

Пример: Если дается карта была

1 => {1, 2, 3} 
2 => {2, 4} 

Затем желаемый выходной поток из пяти пар:

(1,1) , (1,2) , (1,3) , (2,2) , (2,4) 

ответ

4
List<Pair<String, String>> result = 
    map.entrySet() 
     .stream() 
     .flatMap(
      entry -> entry.getValue() 
         .stream() 
         .map(string -> new Pair<>(entry.getKey(), string))) 
     .collect(Collectors.toList()); 
Смежные вопросы