今天遇到一个问题,要根据对象的一个属性来排序:
思路:通过Collections来实现,将对象的集合放入list中,然后根据API来排序:
public static <T> void sort(List<T> list, Comparator<? super T> comparator) {看看我们的最终效果:
代码如下:
/**显示的时候需要根据概率大小来排序,那么在显示之前,添加到List结合之前就要先排好序-->先对jArray遍历一遍*/
List<SecondLineQuestionList> listSecondLineQuestionList = new ArrayList<>();
for (int i = 0; i < jArray.size(); i++) { //获得二级和三级的所有信息
SecondLineQuestionList slq = request.formatResult(jArray.getString(i), SecondLineQuestionList.class);
listSecondLineQuestionList.add(slq);
}
//根据Collections.sort重载方法来实现
Collections.sort(listSecondLineQuestionList, new Comparator<SecondLineQuestionList>() {
@Override
public int compare(SecondLineQuestionList b1, SecondLineQuestionList b2) {
return b2.getProbability().compareTo(b1.getProbability());
}
});