我有一个数据结构,如下所示:
public class VResultSetBean {
private ArrayList<RowBean> rowBeans;
}
public class RowBean {
private HashMap<String, Object> columns;
}
我需要基于HashMap
rowBeans
中的键之一的值对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);
}
}
一旦
RowBean
是Comparable
,您可以使用以下方式进行排序: Collections.sort(rowBeans);
关于java - 在HashMap的数组列表中排序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18334371/