Collection工具實現排序

2021-08-31 02:56:33 字數 1553 閱讀 8143

集合內排序:

比如 :對列表 list排序: 

asnexpdatedto 類需要實現介面   comparable

/**

* @author wuao 簽注有效期查詢dto 2011-08-30

* */

public class asnexpdatedto implements comparable

return monthint;

}}

collections.sort(rstasnexpdatelist);

就可以排序 。

注意的是:  集合內用於排序的介面計算的值不要出現 null 的 , 否則,會影響排序結果。

目前 ,我把用於排序的字段的值為空的元素過濾出來, 單獨插入到集合的最前 。 

for(peopledto peopledto : peoplerstlist)else

} collections.sort(rstasnexpdatelist);

rstasnexpdatelist.addall(0, rstasnexpdateemplist);

實現排序介面:

public final class modelablecomparator implements comparator

protected int getindex(long id)

@override

public int compare(modelable o1, modelable o2)

}

modelable 介面 : 

public inte***ce modelable
排序的時候,  list 中的型別要有這個 getid() 方法 。

public class activityvo  implements serializable,modelable

//初始化單位列表資訊

this.a = context.geta();

//已經按照的順序是 錯誤種類 排

//把錯誤進行排序

if(formcheck.getorder_type() == 1)else if(formcheck.getorder_type() == 3)比較器的**:

/**

* 單位 + 姓名 的排序比較器

* @author wuao

* */

private class unitnamecomparator implements comparator else

//return 0;

} }

/*** 小錯誤原因+單位+姓名 的排序比較器

* @author wuao

* */

private class typeunitnamecomparator implements comparator elseelse

}//return 0;

} }

Collection的迭代器實現

list.add aaa list.add bbb list.add ccc 方法一 超級for迴圈遍歷 for string attribute list 方法二 對於arraylist來說速度比較快,用for迴圈,以size為條件遍歷 for int i 0 i list.size i 方法三 ...

Collection框架中實現比較要實現什麼介面

comparable和 comparator介面 如果乙個類的不同物件需要比較大小,那麼就需要實現這兩個介面,根據業務需求定義規則。使用區別 1 comparable介面 是需要比較的類實現自己實現,例如 定義的student類需要比較,需要student類自己實現這個介面,實現comparato ...

Collection框架中實現比較要實現什麼介面?

因此treemap的 key treeset 的集合元素,都需要可以比較大小。集合框架中之比較大小的有兩種方式 a 自然排序 對於自然排序來說,要求 treemap 中的所有 key都實現 comparable介面,實現該介面時需要實現乙個int compareto t o 方法,用於判斷當前物件與...