日期:2014-05-20  浏览次数:20653 次

Java List遍历实体,为什么执行结果是错的!
for (int i = 0; i < listScoure.size(); i++) {
if (listScoure.get(i) != null) {
Source source = (Source) listScoure.get(i);
for (int j = i; j < listScoure.size(); j++) {
if (listScoure.get(j) != null) {
Source source2 = (Source) listScoure.get(j);
// 高分到低分排序
if (source.getScore() < source2.getScore()) {
listScoure.set(i, source2);
listScoure.set(j, source);
}
}
}
}
}

------解决方案--------------------
public class Test{
public static void main(String[] args){
List<Integer> list=new ArrayList<Integer>();
list.add(4);
list.add(2);
list.add(1);
list.add(6);
list.add(9);
list.add(8);
Collections.sort(list,new Comparator(){
public int compare(Object o1, Object o2) {
if((Integer)o1>(Integer)o2){
return 1;
}else{
return 0;
}
}

});
System.out.println(list.toString());
}
}
这才是集合的比较