我有一个对象列表:
List<WorkflowError> workflowErrors = new List<WorkflowError>();
Run Code Online (Sandbox Code Playgroud)
其中我想在字符串字段errorCode上按字母顺序排序.
我知道我必须使用
Collections.sort(list,comparator)
Run Code Online (Sandbox Code Playgroud)
并编写自定义比较器:
public class SortByErrorComparator implements Comparator<WorkflowError>
{
// Comparator logic
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我已经看到了如何为一维列表执行此操作的示例,但我无法确定如何开始查找对象列表.
任何帮助,将不胜感激.
您需要实现该compare方法.
public class SortByErrorComparator implements Comparator<WorkflowError> {
public int compare(WorkflowError obj1, WorkflowError obj2) {
return obj1.getErrorCode().compareTo(obj2.getErrorCode());
}
}
Run Code Online (Sandbox Code Playgroud)
然后,你可以简单地做:
Collections.sort(list, new SortByErrorComparator()) ;
Run Code Online (Sandbox Code Playgroud)
在Java世界中,通常我们使用匿名内部类来内联,如下所示:
Collections.sort(list, new Comparator<WorkflowError>() {
public int compare(WorkflowError obj1, WorkflowError obj2) {
return obj1.getErrorCode().compareTo(obj2.getErrorCode());
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3284 次 |
| 最近记录: |