MSMC MSMC - 7 months ago 9
Java Question

Sorting List of objects in android

Suppose I have the following object class:

public class Country {
private int ID;
private String name;
private Double distance;
}


and I have a list of this object which contain many objects:

List<Country> myList;


how i can sort the list based on the
Double distance
e.g to put objects with less distance first? Is there a ready function to do this?

Or i want to store 3 countries of minimum distances in another list.

Answer

Use Collection.sort and pass your own implementation of Comparator

Example:

List<Country> items = new ArrayList<Country>();

.....
Collections.sort(items, new Comparator<Country>() {

    @Override
    public int compare(Country o1, Country o2) {
        return Double.compare(o1.getDistance(), o2.getDistance());
    }

});