Ho una mappa in cui i valori sono stringhe e le chiavi sono elenchi: Map<String, List<BoMLine>> materials
. Mi piacerebbe filtrare questa mappa con i suoi valori; qualcosa di simile:Come filtrare una mappa con i suoi valori in Java 8?
materials.entrySet().stream()
.filter(a->a.getValue().stream()
.filter(l->MaterialDao.findMaterialByName(l.getMaterial()).ispresent)
Ma non funziona per me. Qualcuno ha un'idea?
Grazie.
Non sono sicuro della mia soluzione e non funziona quando voglio raccoglierlo per mappare "e" non è t una mappa è solo un oggetto – Nazila
@nazila 'e' è un' Map.Entry> '. Ho fatto alcuni errori di sintassi stupidi nella chiamata a 'raccogliere'. Vedi la risposta modificata. –
Eran
Non è necessario usare 'filter()', basta passare il predicato come argomento a 'anyMatch()'. –