举例: 我想在一个列表里添加两个积分墙广告列表A和B, 现在需要对A和B里面的列表广告进行排序,积分高的就排在前面,积分低的就排在后面,我现在的思路是将A和B添加到一个大列表C里,然后对C整个排序,但是具体不知道怎么写了,因为我是根据积分列表里面对象的积分值字段进行比较大小的,有点搞不懂,不会写了,下面是我们的代码案例,求大神帮忙看看 List alist = new ArrayList();
List blist = new ArrayList();
List clist = new ArrayList();
clist .addAll(alist);
clist .addAll(blist );
现在对clist 进行排序:
for (int i = 0; i < clist .size(); i++) {
for (int j = i + 1; j < clist .size(); j++) {
BaseResource br_1 = clist .get(i);
//getPoint是获取结合对象列表的积分大小的 gerPoint(),说明在下面~
int data1 = getPoint(br_1);
BaseResource br_2 = clist .get(j);
int data2 = getPoint(br_2);
//对积分point大小进行比较
if (data1 < data2) {
------------ 这里写不下去了-----------
}
}
}
private int getPoint(BaseResource br) {
if (br.dataType == A_DataType) {
ConnerObject connerObject= (ConnerObject) br.object;
//返回A广告的分值大小
return aconnerObject.getPoints();
} else if (br.dataType == B_DataType) {
Map<String, Object> map = (Map<String, Object>) br.object;
//返回B广告的分值大小
return (Integer) map.get("number");
}
return 0;
}