Confondu par Java8 Collectionneurs.toMap

J'ai une collection qui ressemble à ci-dessous, et je veux filtrer le tout, sauf les dates qui ne sont pas à la fin du mois.

2010-01-01=2100.00, 
2010-01-31=2108.74, 
2010-02-01=2208.74, 
2010-02-28=2217.92, 
2010-03-01=2317.92, 
2010-03-31=2327.57, 
2010-04-01=2427.57, 
2010-04-30=2437.67, 
2010-05-01=2537.67, 
2010-05-31=2548.22, 
2010-06-01=2648.22, 
2010-06-30=2659.24, 
2010-07-01=2759.24, 
2010-07-31=2770.72, 
2010-08-01=2870.72, 
2010-08-31=2882.66, 
2010-09-01=2982.66, 
2010-09-30=2995.07, 
2010-10-01=3095.07, 
2010-10-31=3107.94, 
2010-11-01=3207.94, 
2010-11-30=3221.29

J'ai le texte suivant des critères de filtre. frequency.getEnd renvoie une LocalDate correspondant à la fin du mois pour le LocalDate.

.filter(p -> frequency.getEnd(p.getKey()) == p.getKey())

Alors maintenant, je pense que je convertis cette filtré flux de retour pour une carte. Et je pense utiliser un collecteur de le faire. J'ai donc ajouter:

.collect(Collectors.toMap(/* HUH? */));

Mais je ne sais pas quoi faire avec Collectors.toMap. La lecture des exemples qui me laisse confus. Voici mon code actuel qui, évidemment, ne fonctionne pas.

TreeMap<LocalDate, BigDecimal> values = values.entrySet()
                                              .stream()
                                              .filter(p -> frequency.getEnd(p.getKey()) == p.getKey())
                                              .collect(Collectors.toMap(/* HUH? */));

OriginalL'auteur Patrick | 2015-11-15