常用类API-Compare、Comparator

简介:
 
 
  1. import java.util.ArrayList; 
  2. import java.util.Collections; 
  3. import java.util.Comparator; 
  4.  
  5.  
  6.  
  7. public class fuxi6_compare 
  8.     public static void main(String[] args) 
  9.     { 
  10.         ArrayList<Students> list = new ArrayList<Students>(); 
  11.         list.add(new Students("acc"28)); 
  12.         list.add(new Students("aa"20)); 
  13.         list.add(new Students("ddd"25)); 
  14.         list.add(new Students("eee"22)); 
  15.         list.add(new Students("fff"26)); 
  16.         list.add(new Students("ggg"23)); 
  17.          
  18.          
  19.         Collections.sort(list);  //直接对students对象排序 
  20.          
  21.         Caipan caipan = new Caipan();   //创建裁判对象 
  22.         Collections.sort(list,caipan);  //根据裁判来排序 
  23.         System.out.println(list); 
  24.          
  25.     } 
  26.  
  27. /** 
  28.  *  
  29.  *直接实现比较接口,重写compareTo方法 
  30. */ 
  31. class Students implements Comparable<Students>  //记得添加泛型 
  32.     String name; 
  33.     int age; 
  34.     public Students(String name,int age) 
  35.     { 
  36.         this.name = name; 
  37.         this.age = age; 
  38.     } 
  39.     @Override 
  40.     public int compareTo(Students o)  //重写compareTo,返回值负数、0、正数判断大小 
  41.     { 
  42.         return o.age - this.age;  //由大到小排列 
  43.     } 
  44.      
  45.     /** 
  46.      * 名字按字母顺序排列,直接调用compareTo方法比较即可 
  47.      */ 
  48. //  @Override 
  49. //  public int compareTo(Person o) 
  50. //  { 
  51. //      return this.name.compareTo(o.name); 
  52. //  } 
  53.     @Override 
  54.     public String toString() 
  55.     { 
  56.         return "Students [name=" + name + ", age=" + age + "]"
  57.     } 
  58.   
  59.  
  60.  
  61. /** 
  62.  * 创建一个裁判来进行比较,裁判需要实现Comparator 
  63.  */ 
  64.  
  65. class Caipan implements Comparator<Students>//必须添加泛型 
  66.     @Override 
  67.     public int compare(Students stu1, Students stu2) 
  68.     { 
  69.         return stu1.age - stu2.age; 
  70.     } 
  71.  
  72. class Students 
  73.     String name; 
  74.     int age; 
  75.     public Students(String name,int age) 
  76.     { 
  77.         this.name = name; 
  78.         this.age = age; 
  79.     } 
  80.     @Override 
  81.     public String toString() 
  82.     { 
  83.         return "Students [name=" + name + ", age=" + age + "]"
  84.     } 
  85.      

 





本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1191855,如需转载请自行联系原作者
目录
相关文章
|
9月前
|
API 开发工具 开发者
客流类API实测:门店到访客群画像数据
本文介绍了一个实用的API——“门店到访客群画像分布”,适用于线下实体门店进行客群画像分析。该API支持多种画像维度,如性别、年龄、职业、消费偏好等,帮助商家深入了解顾客特征,提升运营效率。文章详细说明了API的参数配置、响应数据、接入流程,并附有Python调用示例,便于开发者快速集成。适合零售、餐饮等行业从业者使用。
客流类API实测:门店到访客群画像数据
|
API 索引
String类下常用API
String类下常用API
212 1
|
安全 Java API
告别繁琐编码,拥抱Java 8新特性:Stream API与Optional类助你高效编程,成就卓越开发者!
【8月更文挑战第29天】Java 8为开发者引入了多项新特性,其中Stream API和Optional类尤其值得关注。Stream API对集合操作进行了高级抽象,支持声明式的数据处理,避免了显式循环代码的编写;而Optional类则作为非空值的容器,有效减少了空指针异常的风险。通过几个实战示例,我们展示了如何利用Stream API进行过滤与转换操作,以及如何借助Optional类安全地处理可能为null的数据,从而使代码更加简洁和健壮。
515 0
|
人工智能 搜索推荐 API
自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator
在完成文本识别和人脸检测项目后,我深入学习了HarmonyOS Next API 13中的Core Vision Face Comparator API,开发了一个简单的人脸比对工具。该API能进行高精度人脸比对并给出相似度评分,应用场景广泛,如照片分类、身份认证、个性化服务等。通过初始化服务、加载图片、实现比对功能和构建用户界面,最终实现了可靠的人脸比对功能。未来计划将此技术应用于更复杂的场景,如照片管理和个性化服务,并探索与其他AI能力的结合。如果你也对人脸比对感兴趣,不妨从简单的比对功能开始,逐步实现自己的创意!
461 61
|
缓存 安全 Java
《从头开始学java,一天一个知识点》之:字符串处理:String类的核心API
🌱 **《字符串处理:String类的核心API》一分钟速通!** 本文快速介绍Java中String类的3个高频API:`substring`、`indexOf`和`split`,并通过代码示例展示其用法。重点提示:`substring`的结束索引不包含该位置,`split`支持正则表达式。进一步探讨了String不可变性的高效设计原理及企业级编码规范,如避免使用`new String()`、拼接时使用`StringBuilder`等。最后通过互动解密游戏帮助读者巩固知识。 (上一篇:《多维数组与常见操作》 | 下一篇预告:《输入与输出:Scanner与System类》)
367 11
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
267 8
|
Java API 开发者
【Java字节码操控新篇章】JDK 22类文件API预览:解锁Java底层的无限可能!
【9月更文挑战第6天】JDK 22的类文件API为Java开发者们打开了一扇通往Java底层世界的大门。通过这个API,我们可以更加深入地理解Java程序的工作原理,实现更加灵活和强大的功能。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来!
|
Java API 开发者
【Java字节码的掌控者】JDK 22类文件API:解锁Java深层次的奥秘,赋能开发者无限可能!
【9月更文挑战第8天】JDK 22类文件API的引入,为Java开发者们打开了一扇通往Java字节码操控新世界的大门。通过这个API,我们可以更加深入地理解Java程序的底层行为,实现更加高效、可靠和创新的Java应用。虽然目前它还处于预览版阶段,但我们已经可以预见其在未来Java开发中的重要地位。让我们共同期待Java字节码操控新篇章的到来,并积极探索类文件API带来的无限可能!