List<TopTen> TopTenList = new ArrayList<>();
List<String> OutComeprocityty = Util.check(adcode);
// List<String> OutComeprocityty=new ArrayList<>();
for (int i=0;i<OutComeprocityty.size();i++){
if(fgPro.TopTen(procityty.get(i))!=null){
TopTenList.add((fgProDataMapper.OutComeTopTen(procityty.get(i))));
}
}
Collections.sort(TopTenList, new Comparator<TopTen>() {
@Override
public int compare(TopTeno1, TopTeno2) {
Double res = Double.parseDouble(o2.getValue()) -
Double.parseDouble(o1.getValue());
return res.intValue();
}
});
List<TopTen> TopTenListt1 = new ArrayList<>();
if(TopTenList.size()>10) {
TopTenListt1 = TopTenList.subList(0, 10);
}
else {
TopTenListt1 = TopTenList;
}
return TopTenListt1;
数据库的语句尽量不要添加计算之类的,所以本次查询数据库的语句之后就是在业务层对数据进行前10的排序,这里使用的是Collections.sort这个方法通过这个方式可以实现list中的数据进行排序,可以顺序排序也可以逆序进行排序。