Sha*_*shi 5 java collections enums
枚举:
public enum ComponentType {
INSTRUCTION, ACTION, SERVICE, DOMAIN, INTEGRATION, OTHER, CONTEXT;
}
Run Code Online (Sandbox Code Playgroud)
A类:
public class A
{
String name;
ComponentType c;
public A(String name, ComponentType c)
{
this.name = name;
this.c = c;
}
}
Run Code Online (Sandbox Code Playgroud)
码:
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));
Run Code Online (Sandbox Code Playgroud)
如何根据枚举顺序对列表进行排序?
您应该简单地委托已经提供的enum compareTo()方法并反映声明顺序(基于compareTo
值):
Collections.sort(list, (a1, a2) -> a1.getType().compareTo(a2.getType()));
Run Code Online (Sandbox Code Playgroud)
或者,如果您认为组件类型为元素提供了"自然顺序",则可以使A类本身实现ordinal
,并将Comparable
方法委托给该类compareTo
.
归档时间: |
|
查看次数: |
9002 次 |
最近记录: |