根据List里对象的某个属性值来对List排序

人工智能,零基础入门!http://www.captainbed.net/inner

有一个场景,就是一个有list,list里面放的是Card对象,Card对象有多个属性值,包括卡用户信息、卡类型cardType,这个list是查询用户卡包得到的卡列表。卡的类型有普卡、金卡、钻卡,等级由低到高排序分别是:普卡、金卡、钻卡,对应的cardType是个数字。

现在要把最高级的卡优先排在最前面,就是钻卡-->金卡-->普卡

实现方式如下:

根据List里对象的某个属性值来对List排序_第1张图片

方法源码如下:

public List sortCard(List list){
	// card的等级越高,cardType越大,所以可以根据cardType来排序
	Collections.sort(list, new Comparator() {
	    public int compare(CentralCard card1, CentralCard card2) {
	    // 根据CentralCard的CardType来排序
		return card1.getCardType().compareTo(card2.getCardType());
	   }
	});
	//倒序
	Collections.reverse(list);
	
	return list;
}

 

你可能感兴趣的:(Java,项目经验,项目开发)