4

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.

Pshemo
  • 122,468
  • 25
  • 185
  • 269
MSMC
  • 141
  • 1
  • 5
  • 16

1 Answers1

13

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());
    }

});
Community
  • 1
  • 1
ΦXocę 웃 Пepeúpa ツ
  • 47,427
  • 17
  • 69
  • 97