Commit 442b2d06 by Patryk Czarnik

sortowanie i comparatory

parent 93587e6b
package emps;
import java.util.Comparator;
import java.util.List;
import java.util.Optional;
public class F7_MinMax {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
// Znalezienie samej maksymalnej liczby
emps.stream()
.mapToInt(Employee::getSalary)
.max()
.ifPresent(System.out::println);
// Znalezienie obiektu
Optional<Employee> max = emps.stream()
.max(Comparator.comparingInt(Employee::getSalary));
Optional<Employee> min = emps.stream()
.min(Comparator.comparingInt(Employee::getSalary));
if(max.isPresent()) {
System.out.println("Najwięcej zarabia: " + max.get());
}
if(min.isPresent()) {
System.out.println("Najwięcej zarabia: " + min.get());
}
}
}
package emps;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import javax.swing.JOptionPane;
public class F7b_MinMax_Filter {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
String szukanyJob = JOptionPane.showInputDialog("Podaj nazwę stanowiska");
if(szukanyJob == null) {
return;
}
String message1 = emps.stream()
.filter(emp -> Objects.equals(emp.getJobTitle(), szukanyJob))
.max(Comparator.comparingInt(Employee::getSalary))
.map(emp -> emp.getFirstName() + " " + emp.getLastName() + " z pensją " + emp.getSalary())
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najwięcej zarabia: " + message1);
String message2 = emps.stream()
.filter(emp -> Objects.equals(emp.getJobTitle(), szukanyJob))
.min(Comparator.comparingInt(Employee::getSalary))
.map(emp -> emp.getFirstName() + " " + emp.getLastName() + " z pensją " + emp.getSalary())
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najmniej zarabia: " + message2);
}
}
package emps;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.function.Function;
import java.util.function.Predicate;
import javax.swing.JOptionPane;
public class F7c_MinMax {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
String szukanyJob = JOptionPane.showInputDialog("Podaj nazwę stanowiska");
if(szukanyJob == null) {
return;
}
Predicate<Employee> warunek = emp -> Objects.equals(emp.getJobTitle(), szukanyJob);
Function<Employee, String> opisPracownika = emp -> emp.getFirstName() + " " + emp.getLastName() + " z pensją " + emp.getSalary();
String message1 = emps.stream()
.filter(warunek)
.max(Comparator.comparingInt(Employee::getSalary))
.map(opisPracownika)
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najwięcej zarabia: " + message1);
String message2 = emps.stream()
.filter(warunek)
.min(Comparator.comparingInt(Employee::getSalary))
.map(opisPracownika)
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najmniej zarabia: " + message2);
}
}
package emps;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import javax.swing.JOptionPane;
public class F7d_MinMax {
static String opisPracownika(Employee emp) {
return emp.getFirstName() + " " + emp.getLastName() + " z pensją " + emp.getSalary();
}
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
String szukanyJob = JOptionPane.showInputDialog("Podaj nazwę stanowiska");
if(szukanyJob == null) {
return;
}
String message1 = emps.stream()
.filter(emp -> Objects.equals(emp.getJobTitle(), szukanyJob))
.max(Comparator.comparingInt(Employee::getSalary))
.map(F7d_MinMax::opisPracownika)
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najwięcej zarabia: " + message1);
String message2 = emps.stream()
.filter(emp -> Objects.equals(emp.getJobTitle(), szukanyJob))
.min(Comparator.comparingInt(Employee::getSalary))
.map(F7d_MinMax::opisPracownika)
.orElse("nikogo nie znaleziono");
JOptionPane.showMessageDialog(null, "Najmniej zarabia: " + message2);
}
}
package emps;
import java.util.Comparator;
import java.util.List;
public class F8_Sortowanie_v1 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
emps.stream()
.sorted(Comparator.comparingInt(Employee::getSalary).reversed())
.map(emp -> emp.getFirstName() + " " + emp.getLastName() + " " + emp.getSalary())
.forEach(System.out::println);
}
}
package emps;
import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
public class F8_Sortowanie_v2 {
// w tej wersji sortuję wg dwóch kryteriów: nazwisko imię
// wyniki zbieram do listy
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
List<Employee> listaPosortowana = emps.stream()
.sorted(Comparator.comparing(Employee::getLastName).thenComparing(Employee::getFirstName))
.collect(Collectors.toList());
listaPosortowana.forEach(emp -> System.out.println(emp.getFirstName() + " " + emp.getLastName() + " zarabia " + emp.getSalary()));
}
}
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