根據傳入的字段和排序規則對 list進行排序

2021-08-28 20:44:15 字數 1011 閱讀 6907

[個人筆記]

問題描述:根據實體類demo的字段test進行排序

大概分為兩步:使用反射獲取類中的方法,使用collections.sort()進行排序

1、使用反射獲取類中的方法

//實體類demo的相關**就不寫了,getter/setter什麼的,知道其中有乙個方法是gettest()就可以了

public listgetsort(listlist, string sidx, string order) throws exception

2、進行排序操作,順序就是o1-o2,倒序就是o2-o1

//實體類demo的相關**就不寫了,getter/setter什麼的,知道其中有乙個方法是gettest()就可以了

public void getsort(listlist, string sidx, string order) throws exception else

} catch (illegalacces***ception e) catch (illegalargumentexception e) catch (invocationtargetexception e)

return res;

}});

} }/** * obj轉bigdecimal

* @param value

* @return bigdecimal

*/public bigdecimal objtobigdecimal(object value) else if (value instanceof string) else if (value instanceof biginteger) else if (value instanceof number) else

} return ret;

}

至此,可以完成根據傳入的字段進行排序的要求,好像一般是前端排序,這個好像有點不實用,但是,也寫一下,記錄一下,看到這篇筆記的筒子們也可以試試前端排序,比這個方便一點

C 根據傳入的函式指標來解析需要的引數

c 可以根據傳入的函式指標,獲取自己需要的引數型別,然後根據引數源中獲取需要的引數,這裡我用tuple作為演示,不過,只要可以根據序號,或者順序方式等獲取實參,都可以使用類似的方式實現 先給出乙個輔助函式 獲取第n個型別 template struct select template struct ...

Oracle 根據字母 數字的字段排序

最近的專案中使用了ztree來編寫頁面中使用的樹形目錄,在資料庫中儲存的時候有乙個treecode欄位,形如 root.1.1 分別代表根節點下第一層目錄的第乙個節點,新建節點的時候要根據已存在的同級節點的最大treecode來生成新的treecode。開始測試的時候資料量很少,直接根據treeco...

排序之根據某一字段的應用排序實現

ds裡介紹了各種狂拽酷炫的排序演算法,但是都是基於單個元素,實際應用中對某條記錄的某個欄位來排序的情況層出不窮,如果還是原來的演算法直接用的話,恐怕無濟於事,於是我想怎麼根據某個欄位來排序,當時學c 的時候qsort,一直都用這個排序,有個compare函式比較糾結,裡面指標多,這個是排序的依據,在...