java.util.Arrays类也可以对Object数组进行排序,但是要使用这种方法排序必须实现Comparable接口,此接口就是用于指定对象排序规则的。

设计一个学生类,成绩由高到低排序,成绩相等,按年龄由低到高排序。

//=================================================
// File Name : Array_demo
//------------------------------------------------------------------------------
// Author : Common // 类名:student_
// 属性:
// 方法:
class student_ implements Comparable<student_>{
private String name;
private int age;
private float score; public student_(String name, int age, float score) {
super();
this.name = name;
this.age = age;
this.score = score;
} @Override
public String toString() {
return "Student [name=" + name + ", age=" + age + ", score=" + score + "]";
} public int compareTo(student_ stu){ //覆写compareTo()方法,实现排序规则的应用
if(this.score>stu.score){
return -1;
}else if(this.score<stu.score){
return 1;
}else{
if(this.age>stu.age){
return 1;
}else if(this.age<stu.age){
return -1;
}else{
return 0;
}
}
} } //主类
//Function : Comparable_demo
public class Comparable_demo { public static void main(String[] args) {
// TODO 自动生成的方法存根
student_ stu[] = {new student_("张三",20,90.0f),new student_("李四",22,90.0f),
new student_("王五",20,99.0f),new student_("赵六",20,70.0f),
new student_("孙七",22,100.0f)};
java.util.Arrays.sort(stu);
for(int i=0;i<stu.length;i++){
System.out.println(stu[i]);
}
} }

Comparable接口的更多相关文章

  1. 12.Java中Comparable接口,Readable接口和Iterable接口

    1.Comparable接口 说明:可比较(可排序的) 例子:按照MyClass的y属性进行生序排序 class MyClass implements Comparable<MyClass> ...

  2. java中的Comparable接口

    类对象之间比较"大小"往往是很有用的操作,比如让对象数组排序时,就需要依赖比较操作.对于不同的类有不同的语义.如Student类,比较2个学生对象可以比较他们的score分数来评判 ...

  3. comparator接口与Comparable接口的区别

    1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Pe ...

  4. Comparable接口与Comparator接口的区别

    1. Comparator 和 Comparable 相同的地方 他们都是java的一个接口, 并且是用来对自定义的class比较大小的, 什么是自定义class: 如 public class Pe ...

  5. Java集合中Comparator和Comparable接口的使用

    在Java集合中,如果要比较引用类型泛型的List,我们使用Comparator和Comparable两个接口. Comparable接口 -- 默认比较规则,可比较的 实现该接口表示:这个类的实例可 ...

  6. Java中的Comparable接口和Comparator接口

    Comparator位于包java.util下,比较器,是在集合外部定义排序.Comparable位于包java.lang下,代表当前对象可比较的,是在集合内部实现排序. Comparable代表一个 ...

  7. C#实现Comparable接口实现排序

    C#中,实现排序的方法有两种,即实现Comparable或Comparer接口,下面简单介绍实现Comparable接口实现排序功能. 实现Comparable接口需要实现CompareTo(obje ...

  8. Java之Comparable接口和Comparator接口

    Comparable & Comparator 都是用来实现集合中元素的比较.排序的: Comparable 是在集合内部定义的方法实现的排序: Comparator 是在集合外部实现的排序: ...

  9. 第12条:考虑实现Comparable接口

    CompareTo方法没有在Object中声明,它是Comparable接口中的唯一的方法,不但允许进行简单的等同性比较,而且允许执行顺序比较.类实现了Comparable接口,就表明它的实例具有内在 ...

随机推荐

  1. 【The Expendables】团队博客目录

    站立式会议: •[alpha版本]第一次站立式会议  •[beta版本]冲刺计划                •[beta版本]冲刺总结 •[alpha版本]第二次站立式会议  •[beta版本]第 ...

  2. JS模块规范 前端模块管理器

    一:JS模块规范(为了将js文件像java类一样被import和使用而定义为模块, 组织js文件,实现良好的文件层次结构.调用结构) A:CommonJS就是为JS的表现来制定规范,因为js没有模块的 ...

  3. wsdl中含ref="s:schema"时处理的

    dos窗口,在生成客户端代码的时候,出现了下图所示的错误: java是通过JAXB解析wsdl文件的,出现这种错误的原因是: 是JAXB目前还不支持ref 这种元素的解析 s:schema是types ...

  4. iOS开发:读取pdf文件

    方法一:使用QLPreviewController #pragma mark  浏览存在沙盒的文件 -(void)quickLook { QLPreviewController *QLPreviewV ...

  5. Self Host WebApi服务传输层SSL加密(服务器端+客户端调用)

    接上篇<WebApi服务URI加密及验证的两种方式>,在实际开发中,仅对URI进行加密是不够的,在传输层采用SSL加密也是必须的. 如果服务寄宿于IIS,那对传输层加密非常简单仅需要配置一 ...

  6. 使用redis作为session的存储方式

    (1)准备 A. 安装好redis https://github.com/MSOpenTech/redis  注意:下载release版 启动脚本如下: redis-server  redis.win ...

  7. Android Studio打包全攻略

    转载:http://www.2cto.com/kf/201606/517300.html 初出茅庐 手动打包 怎么手动打包 项目写完了,现在需要把应用上传到市场,问题出现-怎么把代码变成.apk(An ...

  8. Leetcode 77, Combinations

    Given two integers n and k, return all possible combinations of k numbers out of 1 ... n. For exampl ...

  9. Leetcode 134 Gas Station

    There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...

  10. 【BZOJ-4524】伪光滑数 堆 + 贪心 (暴力) [可持久化可并堆 + DP]

    4524: [Cqoi2016]伪光滑数 Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 183  Solved: 82[Submit][Status] ...