1. 程式人生 > >集合排序Collections.sort的用法

集合排序Collections.sort的用法

1. 重寫Comparable中compareTo方法 或者 Comparator中compare方法

有兩種方法 1.在程式碼塊實現 2.在物件中重寫compareTo方法

1.1 在程式碼塊實現

    TestA是物件
 1. Collections.sort(listA, new Comparator<TestA>() {
               @Override
               public int compare(TestA o1, TestA o2) {
                   //升序
                   return
o1.getOrder().compareTo(o2.getOrder()); } }); LOGGER.info("listB 升序排序後:" +listA.toString()); Collections.sort(listA, new Comparator<TestA>() { @Override public int compare(TestA o1, TestA o2) { //降序 return
o2.getOrder().compareTo(o1.getOrder()); } }); LOGGER.info("listB 降序排序後:" +listA.toString()); 2.程式碼片實現方式同上 Collections.sort(listA, Collections.reverseOrder(new Comparator<TestA>() { public int compare(TestA arg0, TestA arg1) { return
arg0.getOrder().compareTo(arg1.getOrder()); } }));

1.2 在物件TestA中重寫compareTo方法

    1.TestA實現Comparable<TestA>
    2.重寫方法compareTo
        @Override
        public int compareTo(TestA o) {
         //升序
            return this.order.compareTo(o.getOrder());
        }
     3. 程式碼塊修改為:
         Collections.sort(listA)