• 自定义列表排序


     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 
  • 相关阅读:
    Visual Studio for Application 内幕之二(转载)
    查找数组中极值
    .net中HashTable的最大容量
    返回数组中所有元素被第一个元素除的结果
    将json转换为DataTable
    ASP.NET面试题(推荐_有答案) FX
    [转]U盘启动制作工具|大白菜启动制作工具
    使用QFileDialog 同时选择 文件和文件夹
    [转]如何用SQL命令修改字段名称
    小朋友 老师 笑话
  • 原文地址:https://www.cnblogs.com/celine/p/8456836.html
Copyright © 2020-2023  润新知