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

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

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

实现方式如下:

方法源码如下:

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

猜你喜欢

转载自blog.csdn.net/qq_35860138/article/details/82153222