The Collections.sort method accepts a comparator as its second argument.
You can pass in a comparator that defines the ordering that you want.
For example given a Person class:
class Person {
    private final String name;
    private final int score;
    Person(String name, int score) {
        this.name = name;
        this.score = score;
    }
    @Override
    public String toString() {
        return "Person{" +
                "name='" + name + '\'' +
                ", score=" + score +
                '}';
    }
}
You can use Collections.sort with a custom comparator to sort Persons by descending order of score like this:
List<Person> list = new LinkedList<>(Arrays.asList(new Person("Jack", 3), new Person("Mike", 9)));
System.out.println("before: " + list);
Collections.sort(list, new Comparator<Person>() {
    @Override
    public int compare(Person o1, Person o2) {
        return o2.score - o1.score;
    }
});
System.out.println("after: " + list);
This will output:
before: [Person{name='Jack', score=3}, Person{name='Mike', score=9}]
after: [Person{name='Mike', score=9}, Person{name='Jack', score=3}]