Commit 92a9cb1d by Patryk Czarnik

min max i sortowanie

parent 3bbecf5c
package emps.v2_obiektowo;
import java.util.List;
public class P6_MinMax_v1 {
// Wypisz dane pracownika, który zarabia najwięcej, oraz pracownika, który zarabia najmniej.
// (wypisz co najmniej imię, nazwisko i pensję)
// w tym rozwiązaniu wypiszę wszystkie osoby, które zarabiają maksymalną /minimalną pensję, nawet gdyby było ich więcej
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
// etap 1a: ustalam maksymalną pensję
int maxSalary = 0;
for(Employee emp : emps) {
if(emp.getSalary() > maxSalary) {
maxSalary = emp.getSalary();
}
}
// etap 1b: ustalam minimalną pensję
int minSalary = maxSalary;
for(Employee emp : emps) {
if(emp.getSalary() < minSalary) {
minSalary = emp.getSalary();
}
}
// etap 2: ponownie przeglądając dane szukam KTO tyle zarabia i go wypisuję
System.out.println("najbogatsi: (pensja " + maxSalary +"):");
for(Employee emp : emps) {
if(emp.getSalary() == maxSalary) {
System.out.println(emp);
}
}
System.out.println("najbiedniejsi: (pensja " + minSalary +"):");
for(Employee emp : emps) {
if(emp.getSalary() == minSalary) {
System.out.println(emp);
}
}
}
}
package emps.v2_obiektowo;
import java.util.List;
public class P6_MinMax_v2 {
// Wypisz kto zarabia najwięcej, a kto zarabia najmniej.
// (wypisz co najmniej imię, nazwisko i pensję)
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
int maxSalary = 0; // Integer.MIN_VALUE
int minSalary = Integer.MAX_VALUE;
String min = "";
String max = "";
for(Employee emp : emps) {
if(emp.getSalary() > maxSalary) {
maxSalary = emp.getSalary();
max = emp.getFirstName() + " " + emp.getLastName();
}
if(emp.getSalary() < minSalary) {
minSalary = emp.getSalary();
min = emp.getFirstName() + " " + emp.getLastName();
}
}
System.out.println("Najbogatszy: " + max + " " + maxSalary);
System.out.println("Najbiedniejszy: " + min + " " + minSalary);
}
}
package emps.v2_obiektowo;
import java.util.List;
public class P6_MinMax_v3 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
Employee min = null;
Employee max = null;
for(Employee emp : emps) {
if(max == null || emp.getSalary() > max.getSalary()) {
max = emp;
}
if(min == null || emp.getSalary() < min.getSalary()) {
min = emp;
}
}
System.out.println("Najbogatszy: " + max.getFirstName() + " " + max.getLastName() + " " + max.getSalary());
System.out.println("Najbiedniejszy: " + min.getFirstName() + " " + min.getLastName() + " " + min.getSalary());
}
}
package emps.v2_obiektowo;
import java.util.List;
public class P6_MinMax_v4 {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
Employee min = emps.get(0);
Employee max = emps.get(0); // od Java 21 mamy też: emps.getFirst();
for(Employee emp : emps) {
if(emp.getSalary() > max.getSalary()) {
max = emp;
}
if(emp.getSalary() < min.getSalary()) {
min = emp;
}
}
System.out.println("Najbogatszy: " + max.getFirstName() + " " + max.getLastName() + " " + max.getSalary());
System.out.println("Najbiedniejszy: " + min.getFirstName() + " " + min.getLastName() + " " + min.getSalary());
}
}
package emps.v2_obiektowo;
import java.util.List;
// P7 - wypisz pracowników posortowanych wg pensji rosnąco
public class P7_Sortowanie {
public static void main(String[] args) {
List<Employee> emps = ObslugaCSV.wczytaj("emps.csv");
// tutaj comparator zdefiniuję za pomocą wyrażenia lambda. więcej wersji zobaczymy w pakiecie v3_funkcyjnie
// emps.sort((emp1, emp2) -> emp1.getSalary() - emp2.getSalary());
emps.sort((emp1, emp2) -> Integer.compare(emp1.getSalary(), emp2.getSalary()));
for(Employee emp : emps) {
System.out.println(emp);
}
}
}
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