java中ArrayList排序

java中的ArrayList需要通過collections類的sort方法來進行排序
如果想自定義排序方式則需要有類來實現Comparator接口並重寫compare方法
調用sort方法時將ArrayList對象與實現Commparator接口的類的對象作爲參數

1.獲取ArrayList數據

ArrayList<Chapter> list =     executeChapter.getStudyRecordChapters();
        Collections.sort(list, new Order());
        adapter.setList(list);

2.重寫Collection的compare方法

    /**
     * 對集合排序
     */
    public class Order implements Comparator<Chapter> {

        @Override
        public int compare(Chapter lhs, Chapter rhs) {
            // TODO Auto-generated method stub
            //按照時間順序最新的在上面
            long a = Long.decode(rhs.getStudyTime());
            long b = Long.decode(lhs.getStudyTime());
            long c = a - b;
            if (c > 0) {
                return 1;
            } else if (c == 0) {
                return 0;
            } else {
                return -1;
            }
        }

    }
發佈了27 篇原創文章 · 獲贊 4 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章