There are several solutions for sorting a Map. For a start, let's assume the following Map of Melon:
public class Melon implements Comparable {
private final String type;
private final int weight;
@Override
public int compareTo(Object o) {
return Integer.compare(this.getWeight(), ((Melon) o).getWeight());
}
// constructor, getters, equals(), hashCode(),
// toString() omitted for brevity
}
Map<String, Melon> melons = new HashMap<>();
melons.put("delicious", new Melon("Apollo", 3000));
melons.put("refreshing", new Melon("Jade Dew", 3500));
melons.put("famous", new Melon("Cantaloupe", 1500));
Now, let's examine several solutions for sorting this Map. Basically, the goal is to expose the methods from the following screenshot via a utility class named Maps:
Let's take a look at the different solutions in the next sections.