Dies ist die Klasse MonitoredData
:Wie kann ich eine Map vom Typ Map <Integer, Map <String, Integer >> in Java 8 erstellen?
class MonitoredData {
public MonitoredData (DateTime startTime, DateTime endTime, String activity){
this.startTime = startTime;
this.endTime = endTime;
this.activity = activity;
}
public DateTime getStartTime(){
return this.startTime;
}
public DateTime getEndTime(){
return this.endTime;
}
public String getActivity(){
return this.activity;
}
}
Ich habe eine Methode, das eine Liste von MonitoredData
zurückzugibt, und ich habe eine Datenstruktur vom Typ erzeugen Map<Integer, Map<String, Integer>>
, die für jeden Tag des Protokolls die Aktivitätszählung enthält.
public void activitiesPerDay(List<MonitoredData> monitoredData) {
Map <Integer, Map<String, Integer>> map = monitoredData.stream()
.collect(Collectors.groupingBy(
element -> element.getStartTime().dayOfMonth()),
Collectors.mapping(mapper, downstream)
);
}
Mögliches Duplikat von [Java-Stream-Filter Summe der Werte] (https://StackOverflow.com/questions/44101297/java-stream-filter-sum-of-values) – Eugene