2011年5月10日 星期二

針對 List 排序

開發中偶爾需要針對List進行排序。
這邊紀錄粗糙的作法...有時間再改得方便一些。



/**將list 依照 TaxCd為 35,15,83,84,79,75,49,45,40 排序
* @param tact001List
*/
private void sortList(List tact001List) {
  final List sortSeq = new ArrayList();
  sortSeq.add("35");
  sortSeq.add("15");
  sortSeq.add("83");
  sortSeq.add("84");
  sortSeq.add("79");
  sortSeq.add("75");
  sortSeq.add("49");
  sortSeq.add("45");
  sortSeq.add("40");

  Collections.sort(tact001List, new Comparator() {
    public int compare(final TACT001 a, final TACT001 b) {
    int result = 0;
    int indexA = sortSeq.indexOf(a.getTaxCd());
    int indexB = sortSeq.indexOf(b.getTaxCd());
    result = NumberUtils.compare(indexA, indexB);
    return result;
  }});
}

沒有留言:

張貼留言