import java.util.*;
class DowolnaKlasa implements Comparable<DowolnaKlasa> {
int LiczbaRzeczywista;
String dowolnyString;
public DowolnaKlasa(int liczbaRzeczywista, String dowolnyString) {
LiczbaRzeczywista = liczbaRzeczywista;
this.dowolnyString = dowolnyString;
}
public DowolnaKlasa(DowolnaKlasa p1) {
LiczbaRzeczywista = p1.LiczbaRzeczywista;
dowolnyString = p1.dowolnyString;
}
public int getLiczbaRzeczywista() {
return LiczbaRzeczywista;
}
public void setLiczbaRzeczywista(int liczbaRzeczywista) {
LiczbaRzeczywista = liczbaRzeczywista;
}
public String getDowolnyString() {
return dowolnyString;
}
public void setDowolnyString(String dowolnyString) {
this.dowolnyString = dowolnyString;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
DowolnaKlasa that = (DowolnaKlasa) o;
return LiczbaRzeczywista == that.LiczbaRzeczywista && Objects.equals(dowolnyString, that.dowolnyString);
}
@Override
public String toString() {
return "DowolnaKlasa{" +
"LiczbaRzeczywista=" + LiczbaRzeczywista +
", dowolnyString='" + dowolnyString + '\'' +
'}';
}
@Override
public int compareTo(DowolnaKlasa o) {
return Integer.compare(this.getLiczbaRzeczywista(), o.getLiczbaRzeczywista());
}
}
class Main {
public static void main(String[] args) {
ArrayList<DowolnaKlasa> Lista = new ArrayList<>();
DowolnaKlasa p1 = new DowolnaKlasa(1,"Adam");
DowolnaKlasa p2 = new DowolnaKlasa(80,"Kamil");
DowolnaKlasa p3 = new DowolnaKlasa(20,"Sebastian");
DowolnaKlasa p4 = new DowolnaKlasa(502,"Mateusz");
DowolnaKlasa p5 = new DowolnaKlasa(502,"Piotr");
Lista.add(new DowolnaKlasa(p1));
Lista.add(new DowolnaKlasa(p2));
Lista.add(new DowolnaKlasa(p3));
Lista.add(new DowolnaKlasa(p4));
Lista.add(new DowolnaKlasa(p5));
System.out.println(Lista);
Collections.sort(Lista);
System.out.println("Po sortowaniu");
System.out.println(Lista);
}
}