List<Entry>
をMap<Employee, Map<LocalDate, Entry>>
に1つのラムダ式で変換できますか?Java8ラムダ変換マップの一覧へ
public class Entry {
Employee employee;
LocalDate date;
}
は、これまでのところ、私はこのような何かを思い付いています
entries.stream().collect(Collectors.toMap(Collectors.groupingBy(Entry::getEmployee), Collectors.groupingBy(Entry::getDate), Function.identity()));
しかし、これはコンパイルエラーを与える:
no suitable method found for
toMap(java.util.stream.Collector<com.a.Entry,capture#1 of ?,java.util.Map<com.a.Employee,
java.util.List<com.a.Entry>>>,java.util.stream.Collector<com.a.Entry,capture#2 of ?,
java.util.Map<java.time.LocalDate,java.util.List<com.a.Entry>>>,
java.util.function.Function<java.lang.Object,java.lang.Object>)
おかげ
Employeeはマップの適切なキーですか? BTWは、 "動作しない"と定義します。 – aventurin
コンパイルエラー: toMap(java.util.stream.Collector)の適切なメソッドが見つかりません>>、java.util.stream.Collector >>、java.util.function。 Function ) –
przem