我有List<StudentRecord> records
包含StudentRecord
實例。如何使用Collectors.toMap獲取Map <Integer,Integer>?
public class StudentRecord {
private String lastName;
private String firstName;
private int mark;
//constructor + getters
}
如何使Map<Integer,Integer>
,作爲密鑰具有標記和值,在記錄列表標記occurances的數量?注意:我必須使用這種方法toMap。
我已經嘗試過這個自己: Map<Integer,Integer>mapaPoOcjenama2= records.stream() .collect(Collectors.toMap(StudentRecord::getMark, Collectors.counting(), mergeFunction));
但我現在肯定Collectors.counting()如何工作,不知道寫什麼作爲合併功能。
你想使用'Collectors.groupingBy(r - > r.getMark(),Collectors.counting());'不是映射哪個是每個鍵的一個值 –
我的任務是根據指定使用toMap。 –
在這種情況下,你可以使用'Collectors.toMap(StudentRecord :: getMark,1,(a,b) - > a == null?b:a + b)',儘管我不會那麼做,因爲它很複雜。 –