Here’s how to sort a List by a specific attribute in Java:
import java.util.Arrays;
import java.util.List;
import static java.util.Comparator.comparing;
public final class SortingList {
public static void main(String[] args) {
var messi = new Player("Lionel Messi", "PSG", "Argentina", 42);
var cr7 = new Player("Cristiano Ronaldo", "Manchester United", "Portugal", 50);
var lukaku = new Player("Romelu Lukaku", "Chelsea", "Belgium", 41);
List<Player> players = Arrays.asList(messi, cr7, lukaku);
players.sort(comparing(Player::numberOfGoals).reversed());
System.out.println("Top Scorers:");
players.forEach(System.out::println);
}
private record Player(String name, String club, String country, int numberOfGoals) {
}
}
If you have any questions, leave a comment or send me a message on my social media.
