Java 按对象对对象数组排序';财产
我知道有很多这样的问题,我读了很多,但我真的搞不懂。我有一个用户定义的对象Team,它的属性为Team name(String)、batAvg(Double)和slugAvg(Double)。我想安排,并按batAvg下降的顺序打印团队,然后按slugAvg下降的顺序打印。我有一个所有团队的数组,teamArray(Team[])。按球队击球率和重击率的平均值对这个阵型进行排序的最佳方法是什么。我试过很多东西,但都不管用。请检查以下代码Java 按对象对对象数组排序';财产,java,arrays,sorting,object,properties,Java,Arrays,Sorting,Object,Properties,我知道有很多这样的问题,我读了很多,但我真的搞不懂。我有一个用户定义的对象Team,它的属性为Team name(String)、batAvg(Double)和slugAvg(Double)。我想安排,并按batAvg下降的顺序打印团队,然后按slugAvg下降的顺序打印。我有一个所有团队的数组,teamArray(Team[])。按球队击球率和重击率的平均值对这个阵型进行排序的最佳方法是什么。我试过很多东西,但都不管用。请检查以下代码 import java.util.Arrays; impo
import java.util.Arrays;
import java.util.Comparator;
public class Team {
private String name;
private double batAvg;
private double slugAvg;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public double getBatAvg() {
return batAvg;
}
public void setBatAvg(double batAvg) {
this.batAvg = batAvg;
}
public double getSlugAvg() {
return slugAvg;
}
public void setSlugAvg(double slugAvg) {
this.slugAvg = slugAvg;
}
public static void main(String[] argv){
Team[] teams = new Team[2]; //TODO, for testing..
Arrays.sort(teams, new TeamComparator()); //This line will sort the array teams
}
}
class TeamComparator implements Comparator<Team>{
@Override
public int compare(Team o1, Team o2) {
if (o1.getSlugAvg()==o2.getSlugAvg()){
return 0;
}
return o1.getSlugAvg()>o2.getSlugAvg()?-1:1;
}
}
导入java.util.array;
导入java.util.Comparator;
公开课小组{
私有字符串名称;
私人双batAvg;
私人双重平均值;
公共字符串getName(){
返回名称;
}
公共void集合名(字符串名){
this.name=名称;
}
公共双getBatAvg(){
返回batAvg;
}
公共无效设置(双batAvg){
this.batAvg=batAvg;
}
公共双getSlugAvg(){
返回平均值;
}
公共无效设置LUGAVG(双平均值){
this.slugAvg=slugAvg;
}
公共静态void main(字符串[]argv){
团队[]团队=新团队[2];//TODO,用于测试。。
sort(teams,new TeamComparator());//此行将对数组团队进行排序
}
}
类TeamComparator实现Comparator{
@凌驾
公共整数比较(o1队、o2队){
如果(o1.getSlugAvg()==o2.getSlugAvg()){
返回0;
}
返回o1.getSlugAvg()>o2.getSlugAvg()?-1:1;
}
}
“我读了很多书,但我真的搞不懂。”那么,是什么让你觉得我们写的任何东西都会突然帮你弄明白呢?