对象按照某个字段进行排序
对象实现Comparable 接口,重写compareTo方法
注意数字和字符比较方法不一样,严格区分
@Data
@EqualsAndHashCode(callSuper = false)
public class PicDTO extends DTO implements Comparable<PicDTO>{
private static final long serialVersionUID = 1L;
/**
* 图片url
*/
private String picUrl;
/**
* 图片顺序
*/
private int picSort;
@Override
public int compareTo(PicDTO o) {
try{
// 数字比较--begin--
// 当前的减去比较的--产生的是顺序的结果 1、2、3....
return picSort - o.getPicSort();
// 比较的减去当前的--产生的是倒序的结果 3、2、1....
//return o.getPicSort() - picSort;
// 数字比较--end--
// 字符串比较--begin--
// 降序 3、2、1
// return o.picSort.compareTo(picSort);
// 升序排列 1、2、3
// return picSort.compareTo(o.getPicSort());
// 字符串比较--end--
}catch (Exception e){
return 0;
}
}
}
调用
// 图片list
List<PicDTO> picList = Lists.newArrayList();
picList.add(...);
picList.add(...);
Collections.sort(picList);