zoukankan      html  css  js  c++  java
  • Comparable<T>泛型接口之实现按name或者age进行排序

     1 import java.util.*;
     2 public class Demo13{
     3     
     4     /*
     5     Arrays.sort(Object[])可以对任意数组进行排序,但待排序的元素必须实现Comparable<T>这个泛型接口    
     6     */
     7     
     8     public static void main(String[] args) throws Exception{
     9         String[] arr = {"Davi","Bob","Smith","Alice"};
    10         //因为String本身已经实现了Comparable<String>接口,所以可以直接对String数组进行排序
    11         Arrays.sort(arr);
    12         System.out.println(Arrays.toString(arr));            
    13         
    14         Person[] arr2 =new Person[]{
    15             new Person("Davi",38),
    16             new Person("Bob",13),
    17             new Person("Smith",24),
    18             new Person("Alice",35)
    19         };
    20         
    21         Arrays.sort(arr2);
    22         System.out.println(Arrays.toString(arr2));            
    23     }
    24 }
    25 
    26 //自定义的Person类型实现Comparable<T>接口
    27 class Person implements Comparable<Person>{
    28     private String name;
    29     private int age;
    30     public Person(String name,int age){
    31         this.name = name;
    32         this.age = age;
    33     }
    34         
    35     //重写Comparable<Person>接口
    36     @Override
    37     public int compareTo(Person other){
    38         //使用String类重写好的comparaTo(String other)方法,name首字母依据字典序列来排列元素
    39         return name.compareTo(other.name);
    40     }
    41     
    42     public String toString(){
    43         return "(name:" + name + ",age:" + age + ")";
    44     }
    45     
    46 }

     1 import java.util.*;
     2 public class Demo13{
     3     
     4     /*
     5     Arrays.sort(Object[])可以对任意数组进行排序,但待排序的元素必须实现Comparable<T>这个泛型接口    
     6     */
     7     
     8     public static void main(String[] args) throws Exception{
     9         String[] arr = {"Davi","Bob","Smith","Alice"};
    10         //因为String本身已经实现了Comparable<String>接口,所以可以直接对String数组进行排序
    11         Arrays.sort(arr);
    12         System.out.println(Arrays.toString(arr));    
    13         
    14         int[] arr1 = {38,13,24,35};
    15         //因为Integer本身已经实现了Comparable<String>接口,所以可以直接对Integer数组或者int数组进行排序
    16         Arrays.sort(arr1);
    17         System.out.println(Arrays.toString(arr1));    
    18 
    19         
    20         
    21         Person[] arr2 =new Person[]{
    22             new Person("Davi",38),
    23             new Person("Bob",13),
    24             new Person("Smith",24),
    25             new Person("Alice",35)
    26         };
    27         
    28         Arrays.sort(arr2);
    29         System.out.println(Arrays.toString(arr2));            
    30     }
    31 }
    32 
    33 //自定义的Person类型实现Comparable<T>接口
    34 class Person implements Comparable<Person>{
    35     private String name;
    36     private int age;
    37     public Person(String name,int age){
    38         this.name = name;
    39         this.age = age;
    40     }
    41         
    42     //重写Comparable<Person>接口
    43     @Override
    44     public int compareTo(Person other){
    45         //使用String类重写好的comparaTo(String other)方法,name首字母依据字典序列来排列元素
    46         //return name.compareTo(other.name);
    47         
    48         //使用Integer类重写好的comparaTo(Integer other)方法,age依据数字大小来排列元素
    49         return new Integer(age).compareTo(other.age);
    50     }
    51     
    52     public String toString(){
    53         return "(name:" + name + ",age:" + age + ")";
    54     }
    55     
    56 }

  • 相关阅读:
    taro clock组件
    创建taro项目
    ts声明各种变量类型
    ts的数组/元组/type/interface
    使用styled-components初始化css
    Oracle profile含义、修改、新增
    JDK bin指令
    Nginx 设置忽略favicon.ico文件的错误日志
    nginx: [error] CreateFile() "D: ginx-1.14.2/logs/nginx.pid" failed 解决办法
    Nginx Windows详细安装部署教程
  • 原文地址:https://www.cnblogs.com/zui-ai-java/p/14251159.html
Copyright © 2011-2022 走看看