Commit bc709a5a by Patryk Czarnik

średnia funkcyjnie

parent 95c92a46
...@@ -8,10 +8,11 @@ public class F3_SredniaWszystkich { ...@@ -8,10 +8,11 @@ public class F3_SredniaWszystkich {
List<Employee> emps = ObslugaCSV.wczytaj(); List<Employee> emps = ObslugaCSV.wczytaj();
double avg = emps.stream() double avg = emps.stream()
.mapToInt(Employee::getSalary) // albo emp -> emp.getSalary() .mapToInt(Employee::getSalary)
.average() .average()
.orElse(0); .orElse(0);
System.out.println(avg); System.out.println(avg);
// zamiast Employee::getSalary można też napisać emp -> emp.getSalary()
// Można też użyć dedykowanego Collectora // Można też użyć dedykowanego Collectora
Double avg2 = emps.stream().collect(Collectors.averagingInt(Employee::getSalary)); Double avg2 = emps.stream().collect(Collectors.averagingInt(Employee::getSalary));
......
package emps;
import java.util.List;
import java.util.stream.Collectors;
public class F4a_SredniaProgramistow {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj();
double avg = emps.stream()
.filter(emp -> "Programmer".equals(emp.getJobTitle()))
.mapToInt(Employee::getSalary)
.average()
.orElse(0);
System.out.println(avg);
}
}
package emps;
import javax.swing.*;
import java.util.List;
import java.util.OptionalDouble;
public class F4b_SredniaJob {
public static void main(String[] args) {
String szukanyJob = JOptionPane.showInputDialog("Podaj nazwę stanowiska", "Programmer");
if(szukanyJob == null) {
return;
}
List<Employee> emps = ObslugaCSV.wczytaj();
OptionalDouble avg = emps.stream()
.filter(emp -> szukanyJob.equalsIgnoreCase(emp.getJobTitle()))
.mapToInt(Employee::getSalary)
.average();
if(avg.isPresent()) {
JOptionPane.showMessageDialog(null,
"Średnia pracowników typu " + szukanyJob + " wynosi " + avg.getAsDouble());
} else {
JOptionPane.showMessageDialog(null,
"Nie ma pracowników typu " + szukanyJob, "Brak danych", JOptionPane.WARNING_MESSAGE);
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment