public void sortLeagueTable(List<LeagueTableItem> table) {
Collections.sort(table, new Comparator<LeagueTableItem>(){
public int compare(LeagueTableItem o1, LeagueTableItem o2){
return o2.getPoints() - o1.getPoints();
}
});
}
This code sorts two lists based on the value of the object called points. After I sort it based on the value point I want to sort it again based on the value goalScored. So, if the points of two teams are equal, I want to sort it again based on the goalScored value.
How can I do that?
Java 8's enhancements to the Comparator interface give you a pretty elegant way of achieving this:
table.sort(Comparator.comparingInt(LeagueTableItem::getPoints)
.thenComparingInt(LeagueTableItem::goalScored));
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With