Enum:
public enum ComponentType {
INSTRUCTION, ACTION, SERVICE, DOMAIN, INTEGRATION, OTHER, CONTEXT;
}
Class A :
public class A
{
String name;
ComponentType c;
public A(String name, ComponentType c)
{
this.name = name;
this.c = c;
}
}
Code:
List<A> l = new ArrayList<A>();
l.add(new A("ZY", ACTION));
l.add(new A("ZY0", INSTRUCTION));
l.add(new A("ZY1", DOMAIN));
l.add(new A("ZY2", SERVICE));
l.add(new A("ZY3", INSTRUCTION));
l.add(new A("ZY4", ACTION));
How to sort list according to enum order?
You should simply delegate to the enum
compareTomethod which is already provided and reflects the declaration order (based on theordinalvalue):Or, if you think that the component type provides the “natural order” for your elements, you can make the A class itself implement
Comparableand also delegate thecompareTomethod to theComponentTypeone.