Powiedzmy dla:
class Drozyna {
Drozyna(String arg1, int arg2) {
this.nazwa = arg1;
this.punkty = arg2;
}
public int pobierzPunkty() {
return this.punkty;
}
public String pobierzNazwe() {
return this.nazwa;
}
private int punkty;
private String nazwa;
}
Możesz to zrobić w taki sposób:
Arrays.asList(
new Drozyna("DrozynaA", 4),
new Drozyna("DrozynaB", 3),
new Drozyna("DrozynaC", 1),
new Drozyna("DrozynaD", 7),
new Drozyna("DrozynaE", 12),
new Drozyna("DrozynaF", 2)
).stream()
.sorted(Comparator.comparing(Drozyna::pobierzPunkty).reversed())
.limit(4)
.forEach(x -> System.out.println(x.pobierzNazwe() + " " +x.pobierzPunkty()));
Druzyna*.... :P