StudentRecord
のインスタンスを含むList<StudentRecord> records
があります。Collectors.toMapを使用してMap <Integer、Integer>を取得する方法?
public class StudentRecord {
private String lastName;
private String firstName;
private int mark;
//constructor + getters
}
は、どのように私はキーがマークを持ち、値、レコードリストでマークoccurancesの数と同じことをMap<Integer,Integer>
作るのですか?注:私はこのメソッドを正確に使用する必要がありますtoMap。
私はこの自分自身試してみました: Map<Integer,Integer>mapaPoOcjenama2= records.stream() .collect(Collectors.toMap(StudentRecord::getMark, Collectors.counting(), mergeFunction));
をしかし、私は今Collectors.counting()がどのように動作するかを確認していマージ関数として書くために何を知りません。 toMap
とにかなり簡単です
あなたは 'Collectors.groupingBy(r - > r.getMark()、Collectors.counting());を使いたいと思います。toMapはキーごとに1つの値に対応します –
私のタスクはtoMap to指定されたものです。 –
その場合、 'Collectors.toMap(StudentRecord :: getMark、1、(a、b) - > a == null?b:a + b)'を使うことができます。 –