多个属性的自定义排序(Java实现)

该博客讨论了如何使用Java实现多个属性的自定义排序,以满足如淘宝购物筛选时的需求。通过举例箱子装载物品的场景,说明物品有编号、重量、体积、价格四个属性,并提供了相关代码实现。文章指出,若需改变排序顺序,只需调整sortIntArray方法。
摘要由CSDN通过智能技术生成

我们在用淘宝购物时,需要对物品进行筛选,首先按照销售量从高到低的顺序排序,紧接着在销售量排序的基础上,继续按照价格从高到低的顺序排序,然后继续按照某种属性排序…我们采用Java来实现多个属性的自定义排序。
我们以箱子装载物品为例,每个物品有编号、重量、体积、价格四个属性,具体实现见代码。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;

public class Item {
	
	public int no;//物品编号
	public int weight;//物品重量
	public int volum;//物品体积
	public int value;//物品价值
	
	public Item() {
		super();
	}
	
	public Item(int no, int weight, int volum, int value) {
		super();
		this.no = no;
		this.weight = weight;
		this.volum = volum;
		this.value = value;
		
	}
	/**
	 * 
	 * @param 对ArrayList中的物品按照arOrders给定的要排序的列进行排序
	 * @return 返回一个二维数组
	 */
	public  int[][] sortIntArray(ArrayList<Item> items, final int[] arOrders){  
		items.size();
		int[][] arObjects=new int[items.size()][4];
		for(int i=0;i<items.size();i++) {
			arObjects[i][0]=items.get(i).no;
			arObjects[i][1]=items.get(i).
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值