eld*_*dho 1 java sorting collections
我有一个数据结构如下所示:
public class VResultSetBean {
private ArrayList<RowBean> rowBeans;
}
public class RowBean {
private HashMap<String, Object> columns;
}
Run Code Online (Sandbox Code Playgroud)
我需要rowBeans根据HashMap中其中一个键的值进行排序columns.使用Java执行此操作的最有效方法是什么?
制作RowBean工具Comparable并实现该compareTo方法以提取该密钥的值并使用它来决定比较的结果.
public class RowBean implements Comparable<RowBean> {
private HashMap<String, Object> columns;
@Override
public int compareTo(RowBean other) {
Object valOther = other.columns.get(...);
Object valMine = columns.get(...);
return comparison(valOther, valMine);
}
}
Run Code Online (Sandbox Code Playgroud)
一旦你RowBean是一个Comparable你可以使用:
Collections.sort(rowBeans);
Run Code Online (Sandbox Code Playgroud)