Comparabel实现类之间的比较
来源:互联网 发布:3d肌肉软件 编辑:程序博客网 时间:2024/06/05 09:15
概论
在平时编码时免不了要进行各种比较,java内置了Comparable接口,我们可以实现这个接口,然后进行比较,int,double等基础类型不能进行这样比较,必须使用其包装类Integer等。
Demo:
import java.awt.Shape;class Student implements Comparable<Student>{ private String name; private int score; public Student(String name, int score) { super(); this.name = name; this.score = score; } public int getScore() { return score; } @Override public int compareTo(Student o) {//o为所比较的对象 if(o.getScore()<score) //比较的条件 return 1; //符合返回1 else return 0; //不符合返回0 } @Override public String toString() { return "Student [name=" + name + ", score=" + score + "]"; }}public class CompareTo { public static <T> Comparable<T> findMax(Comparable<T>[] arr) { int maxIndex = 0; for (int i = 0; i < arr.length; i++) { if(arr[i].compareTo((T) arr[maxIndex])>0)//如果返回值大于0,则maxindex = i; maxIndex = i; } return arr[maxIndex];//最后返回最大的 } public static void main(String[] args) { Integer[] in = {1,2,3,4,5,7,6}; System.out.println(findMax(in)); String [] st = {"Joe","Bob","Bill","ZZZZZ"}; System.out.println(findMax(st)); // int [] s = {1,2,3,4,5,7,6}; //System.out.println(findMax(s)); //错误因为其只能用于实现了compare接口的类中 Student[] stu = {new Student("one", 90), new Student("two", 100), new Student("three", 95)}; System.out.println(findMax(stu)); }}
Result
7ZZZZZStudent [name=two, score=100]
阅读全文
0 0
- Comparabel实现类之间的比较
- 各种排序之间的比较和实现
- java使用compareTo实现一个类的对象之间比较大小
- JSP中使用equals实现字符串之间的比较
- 几种物联网实现方式之间的比较+转载
- 两个对象之间的比较,实现接口IComparable
- shell之间的比较
- shell之间的比较
- 对象之间的比较
- 模块化之间的比较
- 函数指针之间的比较
- 对象之间比较的特殊
- Maven Ant之间的比较
- 统计模型之间的比较
- 统计模型之间的比较
- 统计模型之间的比较
- 统计模型之间的比较
- string之间的拼接比较
- angularjs中ng-bind和ng-model用法
- HDOJ1800 Flying to the Mars(贪心,map)
- 关于加速cin cout
- 兰州大学数据结构实验课 程序
- c++与c互相调用
- Comparabel实现类之间的比较
- mysql 数据库开发常见问题及优化
- 存储过程
- C# 打印沙漏
- Centos7 C++连接hbase环境搭建及代码实现
- Android内容提供者ContentProvider总结
- 1040. 有几个PAT
- 解析XML可扩展性文档的方法
- Java web学习遇到的几个面试题