zoukankan      html  css  js  c++  java
  • 比较器

     1 public class Code_09_Comparator{
     2     public static class Student{
     3         public String name;
     4         public int id;
     5         public int age;
     6     public Student(String name,int id,int age){
     7         this.name=name;
     8         this.id=id;
     9         this.age=age;
    10 }
    11 }
    12     public static class IdAscendingComparator imlements Comparator<Student>{//继承接口,接口内放置自己定义的想要比较的东西
    13         @override
    14         public int compara (Student 01,Student 02){
    15         return 01.id-02.id;//如果01的值小,减完就是负数;02的值小减完就是正数;相等减完是0
    16         }
    17     public static class IdDescendingComparator implements Comparator<Student>{
    18     @overrid
    19     public int compare(Student 01,Student 02){
    20         return 02.id-01.id;//降序排列id
    21 }
    22     public static class AgeAscendingComparators Comparator<Student>{
    23     @override
    24     public int compare (Stuent 01,Student 02){
    25         return 01.age-02.age;//升序排列age
    26 }
    27     public static class AgeDescendingComparator implements Comparator<Student>{
    28     @override
    29      public int compare(Student 01,Student 02){
    30         return 02.age-01.age;//降序排列age
    31 }
    32     public static void printStudents (Student[] Students){//输出函数
    33     for(Student student : students){
    34     System.out.println("Name:"+student.name+",Id:"+student.id+".Age:"+student.age);}
    35     System.out.println("============");}
    36     public static void main(String[] args){
    37         Student student1 =new Student("A",1,23);
    38         Student student2 =new Student("B",2,21);
    39         Student student3 =new Student("C",3,22);
    40 
    41         //建立数组,把学生1,2,3放进数组
    42     Student[] students =new Student[]{student3,student2,student1};
    43      printStudents(students);
    44      Arrays.sort(students new IdAscendingComparator());//调用系统函数,①添加students有意义情况:数组,自己定义的比较器②单纯调用sort(students)按照内存地址排序(无意义),例如:基础类型根据数值从小到大排序。
    45      printStudents(students);
    46      Arrays.sort(students new IdDescendingComparator());
    47      printStudents(students);
    48      Arrays.sort(students new AgeScendingComparator());
    49      printStudents(students);
    50      Arrays.sort(students new AgeScendingComparator());
    51      printStudents(students);
    52       
    53 /*Integer[] arr={3,2,4,1,0}; Arrarys.sort(arr,newMycomp());printArray(arr);*/
  • 相关阅读:
    win7无法访问2003共享的解决方法(转)
    nokia vcf文件导入iphone(转)
    zblog之密码修改
    vs2010 dump 调试
    T400 CTO 突遇windows update当前无法检查更新,因为服务为运行。您可能需要重新启动计算机!
    练手卦,奖金何时发?
    QUdpSocket 4.6 严重丢包
    修行
    占问事宜:我买的择日书籍何时能到?
    Silverlight 5 Beta新特性[6]低延迟对WAV格式声音效果支持
  • 原文地址:https://www.cnblogs.com/Vsxy/p/10435345.html
Copyright © 2011-2022 走看看