用Comparable接口,然后用要排序的类来重写Comparable的compareTo函数
直接上栗子
按照总成绩排序输出;
实现接口:
public class std implements Comparable<std> {
String name;
int shu;
int hua;
int wu;
int sum;
public std(String a,int b ,int c,int d)
{
name=a;
shu=b;
hua=c;
wu=d;
sum=b+c+d;
}
public std(){}
public void show()
{
System.out.println(name+"\t"+shu+"\t"+hua+"\t"+wu+"\t"+sum);
}
@Override
public int compareTo(std a) {
// TODO Auto-generated method stub
if(sum>a.sum)//目前是是降序; 升序则 if(sum<a.sum)
return 1; // return -1;
return 0; // return 0;
}
}
测试主函数
import java.util.Arrays;
import java.util.Scanner;
public class pp {
public static void main(String[] args) {
// TODO Auto-gen