I am using a TreeMap, where key is an enum and value is an integer.
TreeMap<Ingredient, Integer> inv;
public Inventory(){
inv = new TreeMap<Ingredient, Integer>();
inv.put(Ingredient.COFFEE, 10);
inv.put(Ingredient.DECAF_COFFEE, 10);
// and so on
}
The Ingredient class is defined as
public enum Ingredient {
COFFEE {
public double getCost() {
return 0.75;
}
@Override
public String toString() {
return "Coffee";
}
},
DECAF_COFFEE {
public double getCost() {
return 0.75;
}
@Override
public String toString() {
return "Decaf Coffee";
}
},
// and so on
However, when i iterate the treemap after adding all the ingredients, the enum keys are not printed in lexicographical order.
If instead of enum it was a class I would be implementing compareto, can i do something similar for enum?