Commit f077ab79 by Patryk Czarnik

Sortowanie emps

parent ba06c9f7
package emps.v2_obiektowo;
import java.util.List;
public class P6_Sortowanie_v1 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytajDane();
System.out.println("Sortujemy rosnąco wg pensji");
// odejmowanie intów jest poprawne pod warunkiem, że wszystkie wartości są dodatnie; inaczej może być integer overflow
emps.sort((emp1, emp2) -> emp1.getSalary() - emp2.getSalary());
for(Employee emp : emps) {
System.out.printf("%s %s (%s) zarabia %d\n",
emp.getFirstName(), emp.getLastName(), emp.getJobTitle(), emp.getSalary());
}
}
}
package emps.v2_obiektowo;
import java.util.Comparator;
import java.util.List;
public class P6_Sortowanie_v2 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytajDane();
System.out.println("Sortujemy rosnąco wg pensji");
// Zamiast wyrażenia lambda moża też utworzyć Comparator porównujący pola obiektów w taki sposób:
emps.sort(Comparator.comparingInt(Employee::getSalary));
for(Employee emp : emps) {
System.out.printf("%s %s (%s) zarabia %d\n",
emp.getFirstName(), emp.getLastName(), emp.getJobTitle(), emp.getSalary());
}
}
}
package emps.v2_obiektowo;
import java.util.Comparator;
import java.util.List;
public class P6_Sortowanie_v3 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytajDane();
System.out.println("Sortujemy rosnąco wg pensji");
// Sortujemy rosnąco wg miast, a w obrębie każdego miasta malejąco wg pensji
emps.sort(Comparator
.comparing(Employee::getCity)
.reversed()
.thenComparingInt(Employee::getSalary)
.reversed());
for(Employee emp : emps) {
System.out.printf("%s %s (%s) z miasta %s zarabia %d\n",
emp.getFirstName(), emp.getLastName(), emp.getJobTitle(), emp.getCity(), 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