java基础学习之可比性的实现
来源:互联网 发布:淘宝内衣代理货源 编辑:程序博客网 时间:2024/05/21 14:02
两种方法:一种是在类内部实现;一种是在类外部定义一个类的可比器
package in;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;/** * Created by S_eve on 2017/6/16. * 关于排序的两个接口 */public class TestJiakou { public static void main(String[] args) { //第一种方法 Student[] students1 = new Student[7]; students1[0] = new Student(7, "hah"); students1[1] = new Student(3, "hah"); students1[2] = new Student(5, "hah"); students1[3] = new Student(1, "hah"); students1[4] = new Student(4, "hah"); students1[5] = new Student(2, "hah"); students1[6] = new Student(6, "hah"); Arrays.sort(students1); for(int i = 0; i < 7; i++){ System.out.println(students1[i].toString()); } System.out.println("+++++++++++++++++++++++++++++++++++++"); //第二种 Student1[] students2 = new Student1[7]; students2[0] = new Student1(7, "hah"); students2[1] = new Student1(3, "hah"); students2[2] = new Student1(5, "hah"); students2[3] = new Student1(1, "hah"); students2[4] = new Student1(4, "hah"); students2[5] = new Student1(2, "hah"); students2[6] = new Student1(6, "hah"); Arrays.sort(students2, new StudentComparator()); for(int i = 0; i < 7; i++){ System.out.println(students2[i].toString()); } }}//第一种方法,在类内部实现Comparableclass Student implements Comparable{ private int id; private String name; public Student(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object o) { if(this == o) return true; if(!(o instanceof Student)) return false; Student other = (Student)o; if(this.id == other.id && this.name.equals(other.name)) return true; return false; } @Override public int hashCode() { int result = id; result = 31 * result + (name != null ? name.hashCode() : 0); return result; } @Override public String toString() { return "Student{" + "id=" + id + ", name='" + name + '\'' + '}'; } @Override public int compareTo(Object o) { Student other = (Student)o; if(this.id < other.id){ return -1; }else if(this.id > other.id) { return 1; } return 0; }}class Student1{ private int id; private String name; public Student1(int id, String name) { this.id = id; this.name = name; } public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public boolean equals(Object o) { if(this == o) return true; if(!(o instanceof Student1)) return false; Student1 other = (Student1)o; if(this.id == other.id && this.name.equals(other.name)) return true; return false; } @Override public int hashCode() { int result = id; result = 31 * result + (name != null ? name.hashCode() : 0); return result; } @Override public String toString() { return "Student1{" + "id=" + id + ", name='" + name + '\'' + '}'; }}//第二种定义一个类比较器class StudentComparator implements Comparator{ @Override public int compare(Object o1, Object o2) { Student1 other1 = (Student1)o1; Student1 other2 = (Student1)o2; if(other1.getId() < other2.getId()){ return -1; }else if(other1.getId() > other2.getId()){ return 1; } return 0; }}
阅读全文
0 0
- java基础学习之可比性的实现
- 可比性
- Java基础学习之实现线程的三种方式
- Java基础之冒泡法的实现
- Java基础-Collection之Set的实现
- Java基础之简单画图板的实现
- Java基础之接口的简单实现
- Java基础之JNI的简单实现
- Java基础学习的开始之路
- java基础学习集合之list实现类 九-3
- Android的学习之路(五)java基础学习1
- Java基础学习之Java语言的组成
- 我的java学习路之java基础认识
- Java基础之JNI实现
- java学习之队列的实现
- 数据结构学习之队列的Java实现
- 数据结构学习之栈的Java实现
- Java基础学习之路
- POJ 3320 Jessica's Reading Problem 【尺取法】
- linux下 让执行的命令行进程在后台运行
- let和const命令
- css波浪线
- 文章标题
- java基础学习之可比性的实现
- vs2013+win10+opencv
- Spark 机器学习实践 :Iris数据集的分类
- 北大资源高层私分国有资产
- opencv 一些内容整理
- CSS样式中字体大小,建议font-size使用em
- Servlet中getAttribute()和getParameter()的区别
- java 非阻塞方式socket
- 初识MySQL