Mam listę obiektów, które chcę grupować według miesięcy i liczyć i przechowywać dane w Map<String, Double>
. Próbuję nauczyć się Lambdy i eksperymentować z nią, próbując to zrobić z Lambdą.Grupowanie i podsumowywanie listy na mapie przy użyciu Lambda
class MoveTrack {
private Date time;
private Double movementAmount;
//getters and setters
}
// in my main method
List<MoveTrack> mveTracking = new ArrayList<>();
Map<String, Double> movMap = new HashMap<>();
Więc chcę móc grupy lista moveTracking
i zsumować wartości do movMap
, z każdej mapie key = nazwa miesiąca (styczeń, luty, etc.) i odpowiednia wartość kwota ruch, który jest suma debel za ten miesiąc.
Cóż, czy próbowałeś już coś? Podejrzewam, że chcesz użyć 'Stream.collect' i' Collectors.groupingBy'. –
I Collectors.summingDouble jako kolektor poniżej poziomu –
@JonSkeet tak próbował groupBy i toMap z niczym, ale błędy. Zwłaszcza, gdy zacząłem wstawiać do symulatora. – Aeseir