首页 > 编程语言 > 详细

自定义列表排序

时间:2018-02-21 16:56:06      阅读:235      评论:0      收藏:0      [点我收藏+]
 1 package com.jdk7.chapter4;
 2 
 3 import java.util.ArrayList;
 4 import java.util.Collections;
 5 import java.util.Comparator;
 6 import java.util.List;
 7 
 8 public class MyComparator implements Comparator {
 9 
10     /**
11      * o1<o2 return 1;
12      * o1=o2 return 0;
13      * o1>o2 return -1;
14      * 比较结果为1才是符合自定义排序的
15      */
16     @Override
17     public int compare(Object o1, Object o2) {
18         int num1 = ((Integer)o1).intValue();
19         int num2 = ((Integer)o2).intValue();
20         if(num1 < num2){
21             return 1;
22         }else if(num1 == num2){
23             return 0;
24         }
25         return -1;
26     }
27     
28     public void printArray(List list){
29         if(list==null){
30             System.out.println("列表为空无法排序!");
31         }
32         System.out.print("队列展示为: ");
33         for(int i=0;i<list.size();i++){
34             System.out.print(list.get(i)+" ");
35         }
36         System.out.println();
37     }
38     
39     public static void main(String[] args) {
40         MyComparator myComparator = new MyComparator();
41         List list = new ArrayList();
42         list.add(1);
43         list.add(4);
44         list.add(2);
45         list.add(6);
46         list.add(9);
47         list.add(8);
48         System.out.println("默认排序后的队列展示为:");
49         Collections.sort(list);
50         myComparator.printArray(list);
51         System.out.println("自定义排序后的队列展示为:");
52         Collections.sort(list, myComparator);
53         myComparator.printArray(list);
54     }
55 
56 }
57 
58 执行结果:
59 默认排序后的队列展示为:
60 队列展示为: 1 2 4 6 8 9 
61 自定义排序后的队列展示为:
62 队列展示为: 9 8 6 4 2 1 

 

自定义列表排序

原文:https://www.cnblogs.com/celine/p/8456836.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!