package test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
/**
* 功能簡述:
* QuoCostCenter這個對象中包含basCostCenterId這個屬性;
* 以下代碼實現對List<QuoCostCenter> quoCCList 進行排序,
* 要求按 QuoCostCenter 中的 basCostCenterId屬性進行降序排列
*
* 關鍵:創建排序器(ComparatorType類)
*
*/
public class TestComparator
{
//排序類-basCostCenterId-Long
private ComparatorType upComparator;
QuoCostCenter quoCC = new QuoCostCenter();
List<QuoCostCenter> quoCCList= new ArrayList<QuoCostCenter>();
// 對明細列表按QuoCostCenter中的成本中心ID升序排
upComparator = new ComparatorType();
Collections.sort(newQuoCostCenters, upComparator);
return newQuoCostCenters;
// 設置比較器,按QuoCostCenter中的BasCostCenterId(Long)比較
private class ComparatorType implements Comparator<Object>
{
public int compare(Object arg0, Object arg1)
{
QuotaCostCenter obj1 = (QuotaCostCenter) arg0;
QuotaCostCenter obj2 = (QuotaCostCenter) arg1;
// 改變obj2 和 obj1 的先後順序可以控制排序順序
return obj1.getBasCostCenterId().compareTo(obj2.getBasCostCenterId());
}
}
}