天天看點

[javase]自定義泛型比較器 排序

package day13;

import java.util.Arrays;
import java.util.Comparator;

/**
 * 自定義外部排序
 * 
 * */
public class TestComparator {
	public static void main(String[] args) {
		Student1 student1=new Student1();
		Student1 student2=new Student1();
		Student1 student3=new Student1();
		student1.setScore(97);
		student2.setScore(99);
		student3.setScore(80);
		Student1[] stu= {student1,student2,student3};
		Arrays.sort(stu,new MyCompare());
		Arrays.stream(stu).forEach(System.out::println);
	}
}
class MyCompare implements Comparator<Student1>{

	@Override
	public int compare(Student1 o1, Student1 o2) {
		// TODO Auto-generated method stub
		return -(o1.getScore()-o2.getScore());
	}
	
}

class Student1 implements Comparator<Student1>{
	private int score;
	
	public int getScore() {
		return score;
	}
	public void setScore(int score) {
		this.score = score;
	}
	@Override
	public int compare(Student1 o1, Student1 o2) {
		return -(o1.score-o2.score);
	}
	@Override
	public String toString() {
		return "成績是:"+this.score;
	}
	
}