RituラジShrivastava:
私は、部門名と各部署で働く従業員の数を印刷したいです!
なぜストリームのforEachのが動作しませんか?
ArrayList<Employee> list = EmployeeRepository.myList;
public Double getTotalSalary(){
return list.stream().map(e -> e.getSalary()).reduce(0.0,(s1,s2) -> s1+s2);
}
public void departmentNamesAndEmployeeCount(){
list.stream().collect(Collectors.groupingBy(Employee::getDepartment,Collectors.counting())).forEach(hm -> system.out::println); /// Compilation Error on this Line.
}
YCF_L:
groupingBy
返却Map<key, value>
はforEachで地図を印刷するには、:
- 地図のあなたのケースでのforeach、取っ
BiConsumer
2つのparamsキーと値を: - あなたは、メソッドのリファレンスを使用することはできません
::
あなたがそうであるように、あなたは簡単なを使用する必要がありますprintln
あなたのコードは次のようになります。
.forEach((k, v) -> System.out.println(k + " " + v));
第一の方法ではgetTotalSalary
、あなたは、単に実行します。
return list.stream()
.mapToDouble(Employee::getSalary)
.sum();