2016-03-14 37 views

Odpowiedz

9

szukasz flatMap wszystkie wartości zawarte w mapie:

Map<String, List<Tag>> map = new HashMap<>(); 
Stream<Tag> stream = map.values().stream().flatMap(List::stream); 

Ten kod najpierw pobiera wszystkie wartości mapie jako Collection<List<Tag>> z values(), Tworzy strumień z tej kolekcji z stream() , a następnie płaskie mapy każde List<Tag> do Stream z odniesieniem do metody List::stream.

+0

So flatMap() nie ma nic wspólnego z java.util.Map? Dobrze wiedzieć, chyba ... –

+1

@RobertFraser Nie należy ich mylić –

+2

@RobertFraser Nazwa pochodzi od [funkcja mapy] (https://en.wikipedia.org/wiki/Map_%28higher-order_function% 29), który "odwzorowuje funkcję" na (listę) wartości. – phg